93 lines
No EOL
1.5 KiB
C#
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);
|
|
}
|
|
}
|
|
} |