コード例 #1
0
        public void FindLeader()
        {
            //Arrange
            NumberJumblerServices services = new NumberJumblerServices();
            NumberJumblerResult   finalPositive;
            NumberJumblerResult   finalNegative;



            //Act
            using (var stream = GenerateStreamFromString("1,1,1,1,1,5\n"))
            {
                finalPositive = services.FindLeader(stream);
            }

            using (var stream = GenerateStreamFromString("1,1,-2,4,4,5\n"))
            {
                finalNegative = services.FindLeader(stream);
            }


            //Assert
            Assert.AreEqual(1, finalPositive.Result);
            Assert.AreEqual("Negative number detected in input file.", finalNegative.ErrorMessage);
        }
コード例 #2
0
        public void IsValid()
        {
            //Arrange
            NumberJumblerServices logic = new NumberJumblerServices();
            string errorMessageValid    = "an error has occurred";
            string errorMessageInvalid  = "";
            bool   valid                  = false;
            bool   decreasingOrder        = false;
            bool   containsNegativeNumber = false;
            bool   digitNotInteger        = false;
            bool   tooManyItems           = false;

            string extraLongString = "1";

            for (int i = 1; i <= 100001; i++)
            {
                extraLongString = extraLongString + "," + i.ToString();
            }
            extraLongString = extraLongString + "\n";

            //Act
            using (var stream = GenerateStreamFromString("1,3,5,6,6,6,6,6,6,6,7\n"))
            {
                valid = logic.isValid(stream, out errorMessageValid);
            }

            using (var stream = GenerateStreamFromString("1,5,6,1,3,2,33,55,1,1,1,1\n"))
            {
                decreasingOrder = !logic.isValid(stream, out errorMessageInvalid);
            }

            using (var stream = GenerateStreamFromString("-1,1,1,1,-6\n"))
            {
                containsNegativeNumber = !logic.isValid(stream, out errorMessageInvalid);
            }

            using (var stream = GenerateStreamFromString("1,21564748336477\n"))
            {
                digitNotInteger = !logic.isValid(stream, out errorMessageInvalid);
            }

            using (var stream = GenerateStreamFromString(extraLongString))
            {
                tooManyItems = !logic.isValid(stream, out errorMessageInvalid);
            }


            //Assert
            Assert.AreEqual(true, valid);

            Assert.AreEqual(true, decreasingOrder);

            Assert.AreEqual(true, containsNegativeNumber);

            Assert.AreEqual(true, digitNotInteger);

            Assert.AreEqual(true, tooManyItems);
        }
コード例 #3
0
        public void FindLeaderNoValidation()
        {
            //Arrange
            NumberJumblerServices logic = new NumberJumblerServices();
            NumberJumblerResult   finalPositive;
            NumberJumblerResult   finalNegative;


            //Act
            using (var stream = GenerateStreamFromString("1,1,1,1,1,5\n"))
            {
                finalPositive = logic.FindLeaderNoValidation(stream);
            }

            using (var stream = GenerateStreamFromString("1,1,2,4,4,5\n"))
            {
                finalNegative = logic.FindLeaderNoValidation(stream);
            }

            //Assert
            Assert.AreEqual(1, finalPositive.Result);
            Assert.AreEqual(-1, finalNegative.Result);
        }