public void PuzzleSolutionGenerator_RandomChoices_Test1() { var sut = new PuzzleSolutionGenerator(PuzzleSize.NineByNine); var result = sut.RandomChoices(); var distinct = result.Distinct().ToList(); Assert.Equal(PuzzleSize.NineByNine.ToInt32(), distinct.Count); }
public void PuzzleSolutionGenerator_RecursiveFillPuzzleBox_Test2() { var sut = new PuzzleSolutionGenerator(PuzzleSize.NineByNine); sut.SeedPuzzleBox(); var result = sut.RecursiveFillPuzzleBox(1, 0); Assert.True(result); var values = sut.PuzzleBoxes[1] .Select(p => p.Value) .Where(v => v.HasValue) .Select(v => v.Value) .Distinct() .OrderBy(v => v).ToList(); Assert.Equal(PuzzleSize.NineByNine.ToInt32(), values.Count); }
public void PuzzleSolutionGenerator_CreatePuzzleSolution_Test1() { var sut = new PuzzleSolutionGenerator(PuzzleSize.NineByNine); var result = sut.CreatePuzzleSolution(); Assert.NotNull(result); foreach (var box in result.ByBox()) { AssertIfNotFullSet(box, PuzzleSize.NineByNine); } foreach (var row in result.ByRow()) { AssertIfNotFullSet(row, PuzzleSize.NineByNine); } foreach (var col in result.ByCol()) { AssertIfNotFullSet(col, PuzzleSize.NineByNine); } }