|
| 1 | +using RustPlusBot.Features.Commands.Formatting; |
| 2 | +using RustPlusBot.Features.ItemData; |
| 3 | +using RustPlusBot.Features.ItemData.Data; |
| 4 | +using RustPlusBot.Features.ItemData.Naming; |
| 5 | + |
| 6 | +namespace RustPlusBot.Features.Commands.Tests.Formatting; |
| 7 | + |
| 8 | +public sealed class UpkeepFormatterTests |
| 9 | +{ |
| 10 | + private readonly IItemNameResolver _names = new ItemDatabaseNameResolver(new EmbeddedItemDatabase()); |
| 11 | + |
| 12 | + [Fact] |
| 13 | + public void UpkeepLine_RendersRange() |
| 14 | + { |
| 15 | + var item = new ItemRecord(1, "Wooden Door", 1, null, null, null, null, null, |
| 16 | + new UpkeepCost([new UpkeepEntry(-151838493, 8, 25)])); |
| 17 | + var line = UpkeepLine.Format(item, _names); |
| 18 | + Assert.Contains("Wooden Door", line, StringComparison.Ordinal); |
| 19 | + Assert.Contains("8–25", line, StringComparison.Ordinal); // 8–25 |
| 20 | + Assert.Contains("Wood", line, StringComparison.Ordinal); |
| 21 | + } |
| 22 | + |
| 23 | + [Fact] |
| 24 | + public void UpkeepLine_RendersSingleQuantityWithoutRange() |
| 25 | + { |
| 26 | + var item = new ItemRecord(1, "Reinforced Glass Window", 1, null, null, null, null, null, |
| 27 | + new UpkeepCost([new UpkeepEntry(317398316, 1, 1)])); |
| 28 | + var line = UpkeepLine.Format(item, _names); |
| 29 | + Assert.DoesNotContain("–", line, StringComparison.Ordinal); // no en-dash for a single value |
| 30 | + Assert.Contains("1", line, StringComparison.Ordinal); |
| 31 | + } |
| 32 | +} |
0 commit comments