Пример #1
0
 public void SimpleMessageTest()
 {
     var record       = RulesParser.ParseRules("5: \"b\"");
     int messageCount = record.CountValidMessages("5", new List <string> {
         "b"
     });
 }
Пример #2
0
        public void LetterRuleTest()
        {
            var record     = RulesParser.ParseRules("5: \"b\"");
            var rules      = Assert.Single(record.Rules.Values);
            var letterRule = Assert.IsType <LetterRule>(rules);

            Assert.Equal("b", letterRule.Value);
        }
Пример #3
0
        public void Puzzle2Example()
        {
            var input = new FileReader()
                        .GetResource("AdventOfCode2020.Tests.Day18.Puzzle2Example.txt");
            var pieces = input.Split(Environment.NewLine + Environment.NewLine);
            var record = RulesParser.ParseRules(pieces[0]);
            var count  = record.CountValidMessages("0", pieces[1].Split(Environment.NewLine));

            Assert.Equal(12, count);
        }
Пример #4
0
        public void NumberRuleTest()
        {
            var record = RulesParser.ParseRules("5: 1 2 3");

            var first = Assert.IsType <NumberRule>(record.Rules["5"]);

            Assert.Equal("1", first.Values[0]);
            Assert.Equal("2", first.Values[1]);
            Assert.Equal("3", first.Values[2]);
        }
Пример #5
0
        public void RunPrecedenceTests_WithBraces(string input, int expectedOutput)
        {
            var tokens = LanguageParser.Parse(input);
            var result = new InterpreterWithPrecedence(tokens)
                         .Run();

            Assert.Equal(expectedOutput, result);
            var pieces = input.Split(Environment.NewLine + Environment.NewLine);
            var record = RulesParser.ParseRules(pieces[0]);
            var count  = record.CountValidMessages("0", pieces[1].Split(Environment.NewLine));

            Assert.Equal(279, count);
        }
        public bool LoadGameInitialization(Ruleset ruleset, string saveFileName)
        {
            var rules = RulesParser.ParseRules(ruleset);

            CityLoader.LoadCities(ruleset);
            // Read SAV file & RULES.txt
            CurrentPlayer = new LocalPlayer(this);

            ClassicSaveLoader.LoadSave(ruleset, saveFileName, rules, CurrentPlayer);
            Images.LoadGraphicsAssetsFromFiles(ruleset, rules);
            //ViewPiece.ActiveXY = gameData.ActiveCursorXY;
            return(true);
        }
Пример #7
0
        public void ConditionalRuleTest()
        {
            var record = RulesParser.ParseRules("5: 1 2 3 | 4 5 6");

            var conditional = Assert.IsType <ConditionalRule>(record.Rules["5"]);

            var first = Assert.IsType <NumberRule>(conditional.Values[0]);

            Assert.Equal("1", first.Values[0]);
            Assert.Equal("2", first.Values[1]);
            Assert.Equal("3", first.Values[2]);

            first = Assert.IsType <NumberRule>(conditional.Values[1]);

            Assert.Equal("4", first.Values[0]);
            Assert.Equal("5", first.Values[1]);
            Assert.Equal("6", first.Values[2]);
        }