コード例 #1
0
        public void ShouldHandleWhenTextHasQuestionMarkAndStartsWithHowMuchIs()
        {
            // arrange
            var textToTest = "how much is ?";
            var rule       = new MuchQuestionParsingRule();

            // act
            var result = rule.Handles(textToTest);

            // assert
            result.ShouldBe(true);
        }
コード例 #2
0
        public void ShouldNotHandleWhenTextIsNull()
        {
            // arrange
            string textToTest = null;
            var    rule       = new MuchQuestionParsingRule();

            // act
            var result = rule.Handles(textToTest);

            // assert
            result.ShouldBe(false);
        }
コード例 #3
0
        public void ShouldNotHandleWhenTextDoesNotStartWithHowMuchIs()
        {
            // arrange
            var textToTest = "not how much is ";
            var rule       = new MuchQuestionParsingRule();

            // act
            var result = rule.Handles(textToTest);

            // assert
            result.ShouldBe(false);
        }
コード例 #4
0
        public void ShouldNotHandleWhenTextDoesNotEndWithQuestionMark()
        {
            // arrange
            var textToTest = "doesnotendwithquestionmark";
            var rule       = new MuchQuestionParsingRule();

            // act
            var result = rule.Handles(textToTest);

            // assert
            result.ShouldBe(false);
        }
コード例 #5
0
        public void ShouldNotHandleWhenTextIsWhitespace()
        {
            // arrange
            var textToTest = " ";
            var rule       = new MuchQuestionParsingRule();

            // act
            var result = rule.Handles(textToTest);

            // assert
            result.ShouldBe(false);
        }
コード例 #6
0
        public void ShouldReturnErrorMessageWhenNoValidCurrency()
        {
            // arrange
            var textToTest = "how much is nope?";
            var currencies = new Dictionary <string, string> {
                { "curr", "Z" }
            };
            var rule = new MuchQuestionParsingRule();

            // act
            var result = rule.Process(textToTest, currencies, null);

            // assert
            result.ShouldBe(Program.ERROR_MESSAGE);
        }
コード例 #7
0
        public void ShouldReturnCorrectMessageWhenMultipleValidCurrency()
        {
            // arrange
            var textToTest = "how much is pish tegj glob glob?";
            var currencies = new Dictionary <string, string> {
                { "pish", "X" }, { "tegj", "L" }, { "glob", "I" }
            };
            var rule     = new MuchQuestionParsingRule();
            var expected = "pish tegj glob glob is 42";

            // act
            var result = rule.Process(textToTest, currencies, null);

            // assert
            result.ShouldBe(expected);
        }
コード例 #8
0
        public void ShouldReturnCorrectMessageWhenValidCurrency()
        {
            // arrange
            var textToTest = "how much is curr?";
            var currencies = new Dictionary <string, string> {
                { "curr", "X" }
            };
            var rule     = new MuchQuestionParsingRule();
            var expected = "curr is 10";

            // act
            var result = rule.Process(textToTest, currencies, null);

            // assert
            result.ShouldBe(expected);
        }