70 lines
2.7 KiB
C#
70 lines
2.7 KiB
C#
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 已在参战区中。"));
|
||
}
|
||
}
|
||
}
|