コード例 #1
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)
                );
        }
コード例 #2
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)
                );
        }
コード例 #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 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)
                );
        }
コード例 #5
0
ファイル: FileReader.cs プロジェクト: darakeon/white-towel
        public void OtherFileEmpty()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile(@"C:\Temp\purple_towel.txt");
            steps.WhenICallTheInterpreterForFile(@"C:\Temp\purple_towel.txt");
            steps.ThenIWillHaveTheseAnswers();
        }
コード例 #6
0
ファイル: FileReader.cs プロジェクト: darakeon/white-towel
        public void FileTowelEmpty()
        {
            var steps = new FileStep();

            steps.GivenIHaveThisFile("towel.txt");
            steps.WhenICallTheInterpreterForFile("towel.txt");
            steps.ThenIWillHaveTheseAnswers();
        }
コード例 #7
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();
        }
コード例 #8
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)
                );
        }
コード例 #9
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")
                );
        }
コード例 #10
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")
                );
        }
コード例 #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 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)
                );
        }
コード例 #13
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)
                );
        }
コード例 #14
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();
        }
コード例 #15
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")
                );
        }
コード例 #16
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)
                );
        }