예제 #1
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)
                );
        }
예제 #2
0
        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)
                );
        }
예제 #3
0
        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)
                );
        }
예제 #4
0
        public void FileAskingJustForNumbersUnknownRoman()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "glob is I"
                                     , "prok is V"
                                     , "pish is X"
                                     , "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 ?"
                                     );

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

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

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

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m),
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m)
                );
        }
예제 #5
0
        public void FileTowelEmpty()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt");
            steps.WhenICallTheInterpreterForFile("towel.txt");
            steps.ThenIWillHaveTheseAnswers();
        }
예제 #6
0
        public void FileDoNotExists()
        {
            var steps = new FileStep();

            steps.GivenIDontHaveThisFile("towel.txt");
            steps.WhenICallTheInterpreterForFile("towel.txt");
            steps.ThenIWillHaveTheseAnswers("File does not exist");
        }
예제 #7
0
        public void OtherFileEmpty()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile(@"C:\Temp\purple_towel.txt");
            steps.WhenICallTheInterpreterForFile(@"C:\Temp\purple_towel.txt");
            steps.ThenIWillHaveTheseAnswers();
        }
예제 #8
0
        public void RandomMessage()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("big_mystery.txt",

                                     "Why do people keep asking the gender of someone who not even talks?"

                                     );

            steps.WhenICallTheInterpreterForFile(@"big_mystery.txt");
            steps.ThenIWillHaveTheseAnswers("I have no idea what you are talking about");
            steps.ThenIWillHaveNoConversions();
            steps.ThenIWillHaveNoThingValues();
        }
예제 #9
0
        public void FileWithDuplicateCreditSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "Silver is 17 Credits"
                                     , "Silver is 17 Credits"
                                     );

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

            steps.ThenIWillHaveTheseAnswers("Value '17' for 'Silver' already stored");

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m)
                );
        }
예제 #10
0
        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)
                );
        }
예제 #11
0
        public void FileWithChangeInCreditSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "Silver is 17 Credits"
                                     , "Silver is 27 Credits"
                                     );

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

            steps.ThenIWillHaveTheseAnswers("Value '27' for 'Silver' ignored (kept as '17')");

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m)
                );
        }
예제 #12
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")
                );
        }
예제 #13
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")
                );
        }
예제 #14
0
        public void FileWithCreditSpecifications()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt"
                                     , "Silver is 17 Credits"
                                     , "Gold is 14450 Credits"
                                     , "Iron is 195.5 Credits"
                                     );

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

            steps.ThenIWillHaveTheseAnswers();

            steps.ThenIWillHaveTheseThingValues(
                Tuple.Create("Silver", 17m),
                Tuple.Create("Gold", 14450m),
                Tuple.Create("Iron", 195.5m)
                );
        }
예제 #15
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();
        }
예제 #16
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")
                );
        }
예제 #17
0
        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)
                );
        }