public void FileAskingJustForCreditUnknownThing()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "tegj is L"
                                     , "glob prok Gold is 57800 Credits"
                                     , "pish pish Iron is 3910 Credits"
                                     , "how many Credits is glob prok Silver ?"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers("Unknown alien number or thing: 'Silver'");

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("prok", "V"),
                Tuple.Create("pish", "X"),
                Tuple.Create("tegj", "L")
                );

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m)
                );
        }
        public void FileAskingJustForNumbersWithWrongQuestion()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "tegj is L"
                                     , "glob glob Silver is 34 Credits"
                                     , "glob prok Gold is 57800 Credits"
                                     , "pish pish Iron is 3910 Credits"
                                     , "how much is pish tegj pish glob ?"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers("Not in roman numbers format: 'XLXI'");

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("prok", "V"),
                Tuple.Create("pish", "X"),
                Tuple.Create("tegj", "L")
                );

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m),
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m)
                );
        }
示例#3
0
        public void FileWithAlienRomanCreditSpecificationsWithSpace()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "tegj is L"
                                     , "glob glob Silver is 34 Credits"
                                     , "glob prok Gold is 57800 Credits"
                                     , "pish pish Iron is 3910 Credits"
                                     , "Lollipop Candy is 20 Credits"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers();

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("prok", "V"),
                Tuple.Create("pish", "X"),
                Tuple.Create("tegj", "L")
                );

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m),
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m),
                Tuple.Create("Lollipop Candy", 20m)
                );
        }
        public void AskWithConvertionBetweenThingsOther()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("vagas-challenge-1.txt"
                                     , "Lollipop Candy is 20 Credits"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "tegj is L"
                                     , "glob glob Silver is 34 Credits"
                                     , "glob prok Gold is 57800 Credits"
                                     , "pish pish Iron is 3910 Credits"
                                     , "how much is pish tegj glob glob ?"
                                     , "how many Credits is glob prok Silver ?"
                                     , "how many Credits is glob prok Gold ?"
                                     , "how many Credits is glob prok Iron ?"
                                     , "how much wood could a woodchuck chuck if a woodchuck could chuck wood ?"
                                     , "how many Silver is glob glob Lollipop Candy?"
                                     );

            steps.WhenICallTheInterpreterForFile(@"vagas-challenge-1.txt");

            steps.ThenIWillHaveTheseAnswers(
                "pish tegj glob glob is 42",
                "glob prok Silver is 68 Credits",
                "glob prok Gold is 57800 Credits",
                "glob prok Iron is 782 Credits",
                "I have no idea what you are talking about",
                "glob glob Lollipop Candy is 2 Silver"
                );

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("prok", "V"),
                Tuple.Create("pish", "X"),
                Tuple.Create("tegj", "L")
                );

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m),
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m),
                Tuple.Create("Lollipop Candy", 20m)
                );
        }
示例#5
0
        public void FileWithChangeInRomanSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "glob is L"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers(@"Value 'L' for 'glob' ignored (kept as 'I')");

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I")
                );
        }
示例#6
0
        public void FileWithDuplicateRomanSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "glob is I"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers(@"Value 'I' for 'glob' already stored");

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I")
                );
        }
示例#7
0
        public void FileWithWrongAlienRomanCreditSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "tegj is L"
                                     , "glob tegj Silver is 34 Credits"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers("Not in roman numbers format: 'IL'");

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("tegj", "L")
                );

            steps.ThenIWillHaveNoThingValues();
        }
示例#8
0
        public void FileWithRomanSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "tegj is L"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers();

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("prok", "V"),
                Tuple.Create("pish", "X"),
                Tuple.Create("tegj", "L")
                );
        }
        public void FileAskingForNumberAndCredit()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "tegj is L"
                                     , "glob glob Silver is 34 Credits"
                                     , "glob prok Gold is 57800 Credits"
                                     , "pish pish Iron is 3910 Credits"
                                     , "how much is pish tegj glob glob ?"
                                     , "how many Credits is glob prok Silver ?"
                                     );

            steps.WhenICallTheInterpreterForFile(@"towel.txt");

            steps.ThenIWillHaveTheseAnswers(
                "pish tegj glob glob is 42",
                "glob prok Silver is 68 Credits"
                );

            steps.ThenIWillHaveTheseConversions(
                Tuple.Create("glob", "I"),
                Tuple.Create("prok", "V"),
                Tuple.Create("pish", "X"),
                Tuple.Create("tegj", "L")
                );

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m),
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m)
                );
        }