Example #1
0
        public void ReverseParseShouldBeSame()
        {
            var comparer = new CommandsEqualityComparer();
            var somecode =
                new StringBuilder(@"
                    int a
                    int b
                    int c
                    a = 1
                    b = getState 2
                    c = b
                    int d
                    d = random c
                    d = a + c
                    d = b - a
                    if d then
                    if a then
                    stop
                    endif
                    print d
                    endif
                        ");
            var parsedCommands = new Parser().ProcessCommands(somecode.ToString()).ToArray();

            var parsedCommandInString = new CommandToStringParser().ParseCommands(parsedCommands);
            var reverse = new Parser().ProcessCommands(parsedCommandInString).ToArray();

            Assert.AreEqual(reverse.Length, parsedCommands.Length);
            for (int i = 0; i < parsedCommands.Length; i++)
            {
                Assert.IsTrue(comparer.IsEqual(parsedCommands[i], reverse[i]));
            }
        }
Example #2
0
        private bool AreCollectionsEquals(ICommandsList x, ICommandsList y)
        {
            if (x.Count != y.Count)
            {
                return(false);
            }
            var comparer = new CommandsEqualityComparer();

            return(!x.Where((t, i) => !comparer.IsEqual(t, y[i])).Any());
        }
Example #3
0
 private bool AreCollectionsEquals(ICommandsList x, ICommandsList y)
 {
     if (x.Count != y.Count) return false;
     var comparer = new CommandsEqualityComparer();
     return !x.Where((t, i) => !comparer.IsEqual(t, y[i])).Any();
 }