- S4-01 先确定 M1 需要的品质 / Tag
- S4-02 把品质计算整理成单一入口 规则边界 - S4-03 先固化 Tag 系统设计与首发范围
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d64c323af12f4036a8c0baed83f750aa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user