geometry-tower-defense/Assets/Tests/EditMode/RepoParticipantAssignDialog...

70 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GeometryTD.Definition;
using GeometryTD.UI;
using NUnit.Framework;
namespace GeometryTD.Tests.EditMode
{
public sealed class RepoParticipantAssignDialogUtilityTests
{
[Test]
public void BuildDialog_Returns_InvalidTower_Message_For_Broken_Component()
{
DialogFormRawData rawData = RepoParticipantAssignDialogUtility.BuildDialog(
new ParticipantTowerAssignResult
{
TowerInstanceId = 90001,
FailureReason = ParticipantTowerAssignFailureReason.InvalidTower,
ValidationFailureReason = CombatParticipantTowerValidationFailureReason.BrokenMuzzleComponent
},
4);
Assert.That(rawData.Title, Is.EqualTo("无法加入参战区"));
Assert.That(rawData.Message, Is.EqualTo("塔 #90001 枪口组件耐久为 0无法参战。"));
Assert.That(rawData.ConfirmText, Is.EqualTo("知道了"));
}
[Test]
public void BuildDialog_Returns_InvalidTower_Message_For_Missing_Component()
{
DialogFormRawData rawData = RepoParticipantAssignDialogUtility.BuildDialog(
new ParticipantTowerAssignResult
{
TowerInstanceId = 90002,
FailureReason = ParticipantTowerAssignFailureReason.InvalidTower,
ValidationFailureReason = CombatParticipantTowerValidationFailureReason.MissingBaseComponent
},
4);
Assert.That(rawData.Message, Is.EqualTo("塔 #90002 缺少底座组件。"));
}
[Test]
public void BuildDialog_Returns_ParticipantAreaFull_Message()
{
DialogFormRawData rawData = RepoParticipantAssignDialogUtility.BuildDialog(
new ParticipantTowerAssignResult
{
TowerInstanceId = 90003,
FailureReason = ParticipantTowerAssignFailureReason.ParticipantAreaFull
},
4);
Assert.That(rawData.Message, Is.EqualTo("参战区已满,最多只能放入 4 座塔。"));
}
[Test]
public void BuildDialog_Returns_AlreadyAssigned_Message()
{
DialogFormRawData rawData = RepoParticipantAssignDialogUtility.BuildDialog(
new ParticipantTowerAssignResult
{
TowerInstanceId = 90004,
FailureReason = ParticipantTowerAssignFailureReason.AlreadyAssigned
},
4);
Assert.That(rawData.Message, Is.EqualTo("塔 #90004 已在参战区中。"));
}
}
}