Roses/Assets/Scripts/Tests/ModelTests.cs
2024-04-16 14:24:07 +02:00

93 lines
No EOL
1.5 KiB
C#

using Domain;
using NUnit.Framework;
namespace Tests {
public class ModelTests {
[Test]
public void NoPress_NoAnimation() {
Model sut = new(20, 5);
Assert.IsFalse(sut.NeedsToAnimate);
}
[Test]
public void NotEnoughPresses_NoAnimation() {
Model sut = new(20, 5);
sut.AddScore();
Assert.IsFalse(sut.NeedsToAnimate);
}
[Test]
public void EnoughPresses_Animation() {
Model sut = new(20, 5);
for (int i = 0; i < 5; i++)
sut.AddScore();
Assert.IsTrue(sut.NeedsToAnimate);
}
[Test]
public void NoPress_NoSpawn() {
Model sut = new(20, 5);
Assert.IsFalse(sut.NeedsToSpawn);
}
[Test]
public void NotEnoughPresses_NoSpawn() {
Model sut = new(20, 5);
sut.AddScore();
Assert.IsFalse(sut.NeedsToSpawn);
}
[Test]
public void EnoughPresses_Spawn() {
Model sut = new(20, 5);
for (int i = 0; i < 20 * 5; i++) {
sut.AddScore();
}
Assert.IsTrue(sut.NeedsToSpawn);
}
[Test]
public void OneIteration_UpdatesGrowPercentage() {
Model sut = new(5, 5);
for (int i = 0; i < 5; i++) {
sut.AddScore();
}
Assert.AreEqual(1f / 5f, sut.GrowPercentage);
}
[Test]
public void AllIterations_GrowCompleted() {
Model sut = new(5, 5);
for (int i = 0; i < 5 * 5; i++) {
sut.AddScore();
}
Assert.AreEqual(1f, sut.GrowPercentage);
}
[Test]
public void MoreIterations_ResetsGrowPercentage() {
Model sut = new(5, 5);
for (int i = 0; i < 6 * 5; i++) {
sut.AddScore();
}
Assert.AreEqual(1f / 5f, sut.GrowPercentage);
}
}
}