public void InvalidArgumentTest()
        {
            // null reference
            MastermindSequence ms = new MastermindSequence("RRRR");
            ms.ScoreGuess(null);

            // argument array length of 1 when should be 4
            ms.ScoreGuess("B");

            // argument array length of 3 when should be 4
            ms.ScoreGuess("BBB");

            // argument array length of 5 when should be 4
            ms.ScoreGuess("ROYGB");
        }
        public void ScoreSequenceJustRightPlaceTest()
        {
            MastermindSequence ms = new MastermindSequence("RRRR");

            // Perfect
            Assert.AreEqual(ms.ScoreGuess("RRRR"), "XXXX");

            // One RightColourRightPlace
            Assert.AreEqual(ms.ScoreGuess("RBBB"), "X");

            // One RightColourRightPlace
            Assert.AreEqual(ms.ScoreGuess("BBBR"), "X");

            // Two RightColourRightPlace
            Assert.AreEqual(ms.ScoreGuess("RBRB"), "XX");

            // Three RightColourRightPlace
            Assert.AreEqual(ms.ScoreGuess("BRRR"), "XXX");
        }
 public void ScoreSequenceAllIncorrectTest()
 {
     MastermindSequence ms = new MastermindSequence("RRRR");
     Assert.AreEqual("", ms.ScoreGuess("BPBP"));
 }
 public void RandomSequenceTest()
 {
     // Make sure length is OK
     MastermindSequence ms = new MastermindSequence(4);
     Assert.True(ms.ToString().Length == 4);
 }
        public void ToStringTest()
        {
            MastermindSequence ms = new MastermindSequence("ROYG");

            Assert.That(ms.ToString(), Is.EqualTo("ROYG"));
        }
        public void ScoreSequenceMixRightWrongPlaceTest()
        {
            MastermindSequence ms = new MastermindSequence("ROYG");

            // Two RightColourRightPlace, Two RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("ROGY"), "XX--");

            // Two RightColourRightPlace, Two RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("GOYR"), "XX--");

            // Two RightColourRightPlace, Two RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("RYOG"), "XX--");
        }
        public void ScoreSequenceJustWrongPlaceTest()
        {
            MastermindSequence ms = new MastermindSequence("ROYG");

            // Four RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("GYOR"), "----");

            // One RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("GBBB"), "-");

            // One RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("BGBB"), "-");

            // One RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("BBGB"), "-");

            // Two RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("ORBB"), "--");

            // Three RightColourWrongPlace
            Assert.AreEqual(ms.ScoreGuess("YROB"), "---");
        }