78 lines
2.5 KiB
C#
78 lines
2.5 KiB
C#
using GeometryTD.Definition;
|
|
using GeometryTD.UI;
|
|
using NUnit.Framework;
|
|
|
|
namespace GeometryTD.Tests.EditMode
|
|
{
|
|
public sealed class ContinueChallengeMultiplierTests
|
|
{
|
|
[Test]
|
|
public void BuildRawData_Uses_OneX_Multiplier_For_First_Loop_And_Invalid_Input()
|
|
{
|
|
CombatInfoFormRawData firstLoop = CombatInfoFormUseCase.BuildRawData(
|
|
LevelThemeType.Plain,
|
|
levelId: 1,
|
|
currentPhaseIndex: 1,
|
|
totalPhaseCount: 4,
|
|
coin: 10,
|
|
baseHp: 20,
|
|
baseHpMax: 20,
|
|
canEnd: true);
|
|
CombatInfoFormRawData invalidInput = CombatInfoFormUseCase.BuildRawData(
|
|
LevelThemeType.Plain,
|
|
levelId: 1,
|
|
currentPhaseIndex: 0,
|
|
totalPhaseCount: 0,
|
|
coin: 10,
|
|
baseHp: 20,
|
|
baseHpMax: 20,
|
|
canEnd: false);
|
|
|
|
Assert.That(firstLoop.EnemyHpRateMultiplier, Is.EqualTo(1));
|
|
Assert.That(invalidInput.EnemyHpRateMultiplier, Is.EqualTo(1));
|
|
}
|
|
|
|
[Test]
|
|
public void BuildRawData_Doubles_EnemyHp_After_Each_Full_Loop()
|
|
{
|
|
CombatInfoFormRawData secondLoop = CombatInfoFormUseCase.BuildRawData(
|
|
LevelThemeType.Volcano,
|
|
levelId: 2,
|
|
currentPhaseIndex: 5,
|
|
totalPhaseCount: 4,
|
|
coin: 15,
|
|
baseHp: 18,
|
|
baseHpMax: 20,
|
|
canEnd: true);
|
|
CombatInfoFormRawData thirdLoop = CombatInfoFormUseCase.BuildRawData(
|
|
LevelThemeType.Mountain,
|
|
levelId: 3,
|
|
currentPhaseIndex: 9,
|
|
totalPhaseCount: 4,
|
|
coin: 20,
|
|
baseHp: 16,
|
|
baseHpMax: 20,
|
|
canEnd: true);
|
|
|
|
Assert.That(secondLoop.EnemyHpRateMultiplier, Is.EqualTo(2));
|
|
Assert.That(thirdLoop.EnemyHpRateMultiplier, Is.EqualTo(4));
|
|
}
|
|
|
|
[Test]
|
|
public void BuildRawData_Clamps_EnemyHp_Multiplier_At_IntMaxValue()
|
|
{
|
|
CombatInfoFormRawData rawData = CombatInfoFormUseCase.BuildRawData(
|
|
LevelThemeType.Plain,
|
|
levelId: 1,
|
|
currentPhaseIndex: 121,
|
|
totalPhaseCount: 4,
|
|
coin: 30,
|
|
baseHp: 10,
|
|
baseHpMax: 20,
|
|
canEnd: false);
|
|
|
|
Assert.That(rawData.EnemyHpRateMultiplier, Is.EqualTo(int.MaxValue));
|
|
}
|
|
}
|
|
}
|