43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using BlueLaminate.Core.Tradeups;
|
|
using Xunit;
|
|
|
|
namespace BlueLaminate.Tests.Tradeups;
|
|
|
|
public class WeaponRarityTests
|
|
{
|
|
[Theory]
|
|
[InlineData("Consumer Grade", WeaponRarity.Consumer)]
|
|
[InlineData("Industrial Grade", WeaponRarity.Industrial)]
|
|
[InlineData("Mil-Spec Grade", WeaponRarity.MilSpec)]
|
|
[InlineData("Restricted", WeaponRarity.Restricted)]
|
|
[InlineData("Classified", WeaponRarity.Classified)]
|
|
[InlineData("Covert", WeaponRarity.Covert)]
|
|
public void Maps_each_weapon_tier_literal(string literal, WeaponRarity expected)
|
|
{
|
|
Assert.True(WeaponRarityExtensions.TryParse(literal, out var rarity));
|
|
Assert.Equal(expected, rarity);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("Contraband")] // The Howl
|
|
[InlineData("Extraordinary")] // Gloves
|
|
public void Reports_non_weapon_rarities_as_not_a_tier(string literal)
|
|
{
|
|
Assert.False(WeaponRarityExtensions.TryParse(literal, out _));
|
|
}
|
|
|
|
[Fact]
|
|
public void Throws_on_unknown_literal_so_a_catalogue_rename_is_loud()
|
|
{
|
|
Assert.Throws<ArgumentException>(() => WeaponRarityExtensions.TryParse("Mythical", out _));
|
|
}
|
|
|
|
[Fact]
|
|
public void Tiers_are_strictly_ordered()
|
|
{
|
|
Assert.True(WeaponRarity.Consumer < WeaponRarity.Industrial);
|
|
Assert.True(WeaponRarity.MilSpec < WeaponRarity.Restricted);
|
|
Assert.True(WeaponRarity.Classified < WeaponRarity.Covert);
|
|
}
|
|
}
|