diff --git a/source/Trek-12/Tests/RulesTests.cs b/source/Trek-12/Tests/RulesTests.cs new file mode 100644 index 0000000..2994420 --- /dev/null +++ b/source/Trek-12/Tests/RulesTests.cs @@ -0,0 +1,39 @@ +namespace Tests; +using Models.Game; +using Models.Rules; + +public class RulesTests +{ + [Fact] + public void IsCellEmpty_ReturnsTrue_WhenCellIsNull() + { + Rules rules = new Rules(); + Assert.True(rules.IsCellEmpty(null)); + } + + [Fact] + public void IsCellEmpty_ReturnsTrue_WhenCellValueIsNull() + { + Rules rules = new Rules(); + Cell cell = new Cell(0, 0); + Assert.True(rules.IsCellEmpty(cell)); + } + + [Fact] + public void IsCellEmpty_ReturnsFalse_WhenCellValueIsNotNull() + { + Rules rules = new Rules(); + Cell cell = new Cell(0, 0); + cell.Value = 1; + Assert.False(rules.IsCellEmpty(cell)); + } + + [Fact] + public void IsCellValid_ReturnsTrue_WhenCellIsEmptyAndHasAdjacentCells() + { + Rules rules = new Rules(); + Map map = new Map("background"); + Cell selectedCell = map.Boards[0]; + Assert.True(rules.IsCellValid(selectedCell, map.Boards)); + } +} \ No newline at end of file