Пример #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)
                );
        }