Esempio n. 1
0
        public void GetPadWithInvalidName()
        {
            Pond p = new Pond();

            // Test GetPad with a non-valid pad name - should throw
            Assert.IsTrue(p.GetPadState('X') == PadState.Empty);
        }
Esempio n. 2
0
        public void FrogHopTest()
        {
            Pond p = new Pond();

            p.SetPad('A', PadState.Red);
            Assert.IsTrue(p.GetPadState('A') == PadState.Red);

            p.SetPad('B', PadState.Green);
            Assert.IsTrue(p.GetPadState('B') == PadState.Green);

            int red, green;
            Assert.IsTrue(p.GetFrogCounts(out red, out green) == 2);
            Assert.IsTrue(red == 1 && green == 1);

            Assert.IsTrue(p.ValidHop('A', 'B') == false);
            Assert.IsTrue(p.ValidHop('A', 'C') == true);
            Assert.IsTrue(p.ValidHop('C', 'A') == false);
            Assert.IsTrue(p.ValidHop('B', 'A') == false);

            Assert.IsTrue(p.IsMovementPossible());

            List<char> pads = p.GetPossibleHops('A');
            Assert.IsTrue(pads.Count == 1 && pads.Contains('C'));

            p.Hop(new Hop('A', 'C'));
            Assert.IsTrue(p.GetPadState('A') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('B') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('C') == PadState.Red);

            Assert.IsTrue(p.GetFrogCounts(out red, out green) == 1);
            Assert.IsTrue(red == 1);

            Assert.IsTrue(p.ValidHop('C', 'A') == false);
            Assert.IsTrue(p.ValidHop('C', 'M') == false);

            Assert.IsFalse(p.IsMovementPossible());
        }
Esempio n. 3
0
        public void InitialState()
        {
            Pond p = new Pond();

            // Pond should contain 13 pads
            Assert.IsTrue(p.GetTotalPads() == 13);

            //// Pond should be empty right now
            Assert.IsTrue(p.GetPadState('A') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('B') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('C') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('D') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('E') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('F') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('G') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('H') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('I') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('J') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('K') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('L') == PadState.Empty);
            Assert.IsTrue(p.GetPadState('M') == PadState.Empty);

            Assert.IsTrue(p.ValidRoute('A', 'B') == false);
            Assert.IsTrue(p.ValidRoute('A', 'C') == true);
            Assert.IsTrue(p.ValidRoute('K', 'I') == false);
            Assert.IsTrue(p.ValidRoute('M', 'G') == true);

            int red, green;
            Assert.IsTrue(p.GetFrogCounts(out red, out green) == 0);
        }