Roses/Assets/Scripts/Tests/KeySequenceTests.cs
2024-04-14 23:15:50 +02:00

50 lines
No EOL
1.1 KiB
C#

using System.Collections.Generic;
using Domain;
using NUnit.Framework;
public class KeySequenceTests {
[Test]
public void NoPresses_DontContain() {
List<int> sequence = new() { 0x1, 0x2, 0x3 };
KeyHistory history = new();
Assert.IsFalse(history.ContainsSequence(sequence));
}
[Test]
public void CorrectPresses_Contains() {
List<int> sequence = new() { 0x1, 0x2, 0x3 };
KeyHistory history = new();
history.KeyPressed(0x1);
history.KeyPressed(0x2);
history.KeyPressed(0x3);
Assert.IsTrue(history.ContainsSequence(sequence));
}
[Test]
public void CorrectPresses_BeforeLast_DontContain() {
List<int> sequence = new() { 0x1, 0x2, 0x3 };
KeyHistory history = new();
history.KeyPressed(0x1);
history.KeyPressed(0x2);
history.KeyPressed(0x3);
history.KeyPressed(0x1);
Assert.IsFalse(history.ContainsSequence(sequence));
}
[Test]
public void IncorrectPresses_DontContain() {
List<int> sequence = new() { 0x1, 0x2, 0x3 };
KeyHistory history = new();
history.KeyPressed(0x1);
history.KeyPressed(0x3);
history.KeyPressed(0x2);
Assert.IsFalse(history.ContainsSequence(sequence));
}
}