Exemple #1
0
        public void TestRotate()
        {
            var tile = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    "123",
                    "456",
                    "789"
                }
            };
            var expected = new List <string> {
                "741",
                "852",
                "963"
            };

            Program.RotateRight(tile);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, expected), Environment.NewLine + string.Join(Environment.NewLine, tile.Rows));

            var original = new List <string> {
                "123",
                "456",
                "789"
            };

            Program.RotateRight(tile);
            Program.RotateRight(tile);
            Program.RotateRight(tile);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, original), Environment.NewLine + string.Join(Environment.NewLine, tile.Rows));
        }
Exemple #2
0
        public void FitWithNumberOfOtherTiles_ShouldRestoreObjectsAfterCompare()
        {
            var tile1 = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    "#..",
                    "#.#",
                    "#.."
                }
            };

            var tile2 = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    "#..",
                    "#.#",
                    "#.."
                }
            };

            var expected = new List <string> {
                "#..",
                "#.#",
                "#.."
            };

            Program.DoesTilesFitTogether(tile1, tile2);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, expected), Environment.NewLine + string.Join(Environment.NewLine, tile1.Rows));
        }
Exemple #3
0
        public void TestDoesTilesFitTogether()
        {
            var t1 = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    ".#.",
                    "..#",
                    "###"
                }
            };
            var t2 = new Program.Tile
            {
                Id   = 2,
                Rows = new List <string> {
                    "..#",
                    "..#",
                    "..#"
                }
            };

            Assert.AreEqual(true, Program.DoesTilesFitTogether(t1, t2));

            var t3 = new Program.Tile
            {
                Id   = 3,
                Rows = new List <string> {
                    "###",
                    "#.#",
                    "###"
                }
            };
            var t4 = new Program.Tile
            {
                Id   = 4,
                Rows = new List <string> {
                    "...",
                    ".#.",
                    "..."
                }
            };

            Assert.AreEqual(false, Program.DoesTilesFitTogether(t3, t4));
        }
Exemple #4
0
        public void TestFlipHorizontal()
        {
            var tile = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    "###",
                    "#.#",
                    "..."
                }
            };
            var expected = new List <string> {
                "...",
                "#.#",
                "###"
            };

            Program.FlipHorizontal(tile);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, expected), Environment.NewLine + string.Join(Environment.NewLine, tile.Rows));
        }
        public void TestRotate()
        {
            #region flip square

            var tile = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    "123",
                    "456",
                    "789"
                }
            };
            var expected = new List <string> {
                "741",
                "852",
                "963"
            };

            Program.RotateRight(tile);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, expected), Environment.NewLine + string.Join(Environment.NewLine, tile.Rows));

            #endregion

            #region flip 360

            var original = new List <string> {
                "123",
                "456",
                "789"
            };
            Program.RotateRight(tile);
            Program.RotateRight(tile);
            Program.RotateRight(tile);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, original), Environment.NewLine + string.Join(Environment.NewLine, tile.Rows));

            #endregion

            #region flip rectangle

            tile = new Program.Tile
            {
                Id   = 1,
                Rows = new List <string> {
                    "01234",
                    "56789",
                }
            };
            expected = new List <string> {
                "50",
                "61",
                "72",
                "83",
                "94"
            };

            Program.RotateRight(tile);
            Assert.AreEqual(Environment.NewLine + string.Join(Environment.NewLine, expected), Environment.NewLine + string.Join(Environment.NewLine, tile.Rows));

            #endregion
        }