コード例 #1
0
        public void SymetriseData()
        {
            // Arrange
            List <double> Input = new List <double> {
                0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
            };
            List <List <double> > Expected = new List <List <double> > {
                new List <double> {
                    0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
                }
            };

            // Act
            Qlearn qlearning             = new Qlearn();
            List <List <double> > Output = qlearning.SymertriseData(Input);

            // Write Output
            bool Match = true;

            for (int Row = 0; Row < Output.Count; Row++)
            {
                for (int Column = 0; Column < Output[Row].Count; Column++)
                {
                    if (Output[Row][Column] != Expected[Row][Column])
                    {
                        Match = false;
                    }
                    Console.Write(Output[Row][Column] + " ");
                }
                Console.WriteLine();
            }

            // Assert
            Assert.IsTrue(Match);
        }
コード例 #2
0
        public void RemoveDulpicates()
        {
            // Arrange
            List <List <double> > Input = new List <List <double> > {
                new List <double> {
                    0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
                },
                new List <double> {
                    0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
                },
                new List <double> {
                    0, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5, 0, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 1, 0.5
                }
            };

            List <List <double> > Expected = new List <List <double> > {
                new List <double> {
                    0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
                },
                new List <double> {
                    0, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5, 0, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 1, 0.5
                }
            };

            // Act
            Qlearn qlearning             = new Qlearn();
            List <List <double> > Output = qlearning.RemoveDuplicatsFrom2DList(Input);

            // Write Output
            bool Match = true;

            for (int Row = 0; Row < Output.Count; Row++)
            {
                for (int Column = 0; Column < Output[Row].Count; Column++)
                {
                    if (Output[Row][Column] != Expected[Row][Column])
                    {
                        Match = false;
                    }
                    Console.Write(Output[Row][Column] + " ");
                }
                Console.WriteLine();
            }

            // Assert
            Assert.IsTrue(Match);
        }
コード例 #3
0
        public void VerticalMirror()
        {
            // Arrange
            List <double> Input = new List <double> {
                0.5, 1, 1, 0.5, 1, 0.5, 0.5, 0.5, 0.5
            };
            List <double> Expected = new List <double> {
                1, 1, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
            };

            // Act
            Qlearn        qlearning = new Qlearn();
            List <double> Output    = qlearning.VerticalMirror(Input);

            // Assert
            CollectionAssert.AreEqual(Expected, Output);
        }
コード例 #4
0
        public void RotateGameBoard90DegClockwise()
        {
            // Arrange
            List <double> Gameboard = new List <double> {
                1, 2, 3, 4, 5, 6, 7, 8, 9
            };
            List <double> Expected = new List <double> {
                7, 4, 1, 8, 5, 2, 9, 6, 3
            };

            // Act
            Qlearn qlearning = new Qlearn();

            qlearning.RotateGameBoard90Degrees(Gameboard);

            // Asert
            CollectionAssert.AreEqual(Expected, Gameboard);
        }
コード例 #5
0
        public void InvertGameBoard()
        {
            // Arrange
            List <double> Gameboard = new List <double> {
                1, 0.5, 0.5, 0.5, 0, 0.5, 0.5, 0.5, 0.5
            };
            List <double> Expected = new List <double> {
                0, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5
            };

            // Act
            Qlearn qlearning = new Qlearn();

            qlearning.InvertGameBoard(Gameboard);

            // Print
            foreach (var Column in Gameboard)
            {
                Console.WriteLine(Column);
            }

            // Asert
            CollectionAssert.AreEqual(Expected, Gameboard);
        }