61 lines
2.4 KiB
C#
61 lines
2.4 KiB
C#
using GeometryTD.CustomUtility;
|
|
using GeometryTD.Definition;
|
|
using NUnit.Framework;
|
|
|
|
namespace GeometryTD.Tests.EditMode
|
|
{
|
|
public sealed class InventoryRarityRuleServiceTests
|
|
{
|
|
[TestCase(RarityType.None, RarityType.White)]
|
|
[TestCase(RarityType.White, RarityType.White)]
|
|
[TestCase(RarityType.Green, RarityType.Green)]
|
|
[TestCase(RarityType.Red, RarityType.Red)]
|
|
[TestCase((RarityType)(-1), RarityType.White)]
|
|
[TestCase((RarityType)99, RarityType.White)]
|
|
public void NormalizeComponentRarity_Returns_Expected_Value(
|
|
RarityType input,
|
|
RarityType expected)
|
|
{
|
|
RarityType result = InventoryRarityRuleService.NormalizeComponentRarity(input);
|
|
|
|
Assert.That(result, Is.EqualTo(expected));
|
|
}
|
|
|
|
[TestCase(RarityType.White, RarityType.Green, RarityType.Green, RarityType.Green)]
|
|
[TestCase(RarityType.Green, RarityType.Blue, RarityType.Purple, RarityType.Blue)]
|
|
[TestCase(RarityType.Red, RarityType.White, RarityType.White, RarityType.Green)]
|
|
[TestCase(RarityType.None, RarityType.None, RarityType.None, RarityType.White)]
|
|
[TestCase((RarityType)99, RarityType.Red, RarityType.Red, RarityType.Purple)]
|
|
public void ResolveTowerRarity_Returns_Average_Rounded_Result(
|
|
RarityType muzzleRarity,
|
|
RarityType bearingRarity,
|
|
RarityType baseRarity,
|
|
RarityType expected)
|
|
{
|
|
RarityType result = InventoryRarityRuleService.ResolveTowerRarity(
|
|
muzzleRarity,
|
|
bearingRarity,
|
|
baseRarity);
|
|
|
|
Assert.That(result, Is.EqualTo(expected));
|
|
}
|
|
|
|
[Test]
|
|
public void CreateSampleInventory_Uses_Same_Tower_Rarity_Rule_As_Service()
|
|
{
|
|
BackpackInventoryData inventory = InventorySeedUtility.CreateSampleInventory();
|
|
TowerItemData tower = inventory.Towers[0];
|
|
MuzzleCompItemData muzzle = inventory.MuzzleComponents[0];
|
|
BearingCompItemData bearing = inventory.BearingComponents[0];
|
|
BaseCompItemData baseComp = inventory.BaseComponents[0];
|
|
|
|
RarityType expected = InventoryRarityRuleService.ResolveTowerRarity(
|
|
muzzle.Rarity,
|
|
bearing.Rarity,
|
|
baseComp.Rarity);
|
|
|
|
Assert.That(tower.Rarity, Is.EqualTo(expected));
|
|
}
|
|
}
|
|
}
|