public void RotaetRightTest() { int[,] rotated1 = new int[N, N] { { 4, 3, 2, 1 }, { 4, 3, 2, 1 }, { 4, 3, 2, 1 }, { 4, 3, 2, 1 } }; int[,] rotated2 = new int[N, N] { { 4, 4, 4, 4 }, { 3, 3, 3, 3 }, { 2, 2, 2, 2 }, { 1, 1, 1, 1 } }; int[,] rotated3 = new int[N, N] { { 1, 2, 3, 4 }, { 1, 2, 3, 4 }, { 1, 2, 3, 4 }, { 1, 2, 3, 4 } }; SkyscraperData obj = new SkyscraperData(N, _testdata); obj.RotateRight(); obj.Data.ShouldBe(rotated1); obj.RotateRight(); obj.Data.ShouldBe(rotated2); obj.RotateRight(); obj.Data.ShouldBe(rotated3); obj.RotateRight(); obj.Data.ShouldBe(_testdata); }
public void CreateFromTblTest() { SkyscraperData obj = new SkyscraperData(N, _testdata); obj.Data.Length.ShouldBe(N * N); obj.Data.ShouldBe(_testdata); }
public void CreateSizesTest() { SkyscraperData obj = new SkyscraperData(N); obj.Data.Length.ShouldBe(N * N); }
public void ApplyConstraintsTest() { var clues = new int[] { 2, 2, 1, 3, 2, 2, 3, 1, 1, 2, 2, 3, 3, 2, 1, 3 }; var expected = new int[, ] { { m1 | m2, m3, m4, m1 | m2 }, { m4, m1 | m2, m1 | m2, m3 }, { m3, m4, m1 | m2, m1 | m2 }, { m1 | m2, m1 | m2, m3, m4 } }; SkyscraperData data = _pobj.CreateInitialData(); _pobj.ApplyConstraints(data, clues); data.Data.ShouldBe(expected, "first test failed"); data.Rows[0].ShouldBe(new List <int>() { 0, 3 }); data.Rows[1].ShouldBe(new List <int>() { 1, 2 }); data.Rows[2].ShouldBe(new List <int>() { 2, 3 }); data.Rows[3].ShouldBe(new List <int>() { 0, 1 }); data.Cols[0].ShouldBe(new List <int>() { 0, 3 }); data.Cols[1].ShouldBe(new List <int>() { 1, 3 }); data.Cols[2].ShouldBe(new List <int>() { 1, 2 }); data.Cols[3].ShouldBe(new List <int>() { 0, 2 }); clues = new[] { 0, 0, 1, 2, 0, 2, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0 }; expected = new int[, ] { { m1 | m2 | m3, m1 | m2 | m3, m4, m1 | m2 | m3 }, { m1 | m2 | m3, m4, m1 | m2 | m3, m1 | m2 | m3 }, { m4, m1 | m2 | m3, m1 | m2 | m3, m1 | m2 | m3 }, { m1 | m2 | m3, m1 | m2 | m3, m1 | m2, m4 } }; data = _pobj.CreateInitialData(); _pobj.ApplyConstraints(data, clues); data.Data.ShouldBe(expected, "second test failed"); data.Rows[0].ShouldBe(new List <int>() { 0, 1, 3 }); data.Rows[1].ShouldBe(new List <int>() { 0, 2, 3 }); data.Rows[2].ShouldBe(new List <int>() { 1, 2, 3 }); data.Rows[3].ShouldBe(new List <int>() { 0, 1, 2 }); data.Cols[0].ShouldBe(new List <int>() { 0, 1, 3 }); data.Cols[1].ShouldBe(new List <int>() { 0, 2, 3 }); data.Cols[2].ShouldBe(new List <int>() { 1, 2, 3 }); data.Cols[3].ShouldBe(new List <int>() { 0, 1, 2 }); }