private AendringDefinition BuildAendringDefintion(Element[] targets, AktionType aktionType)
 {
     return(new AendringDefinition()
     {
         Targets = targets, AktionType = aktionType
     });
 }
示例#2
0
        private void TestParseResult(string input, object[] expectedExplicatus, AktionType expectedAktionType, Type[] expectedTypes)
        {
            var parseResult = _sut.Parse(input);

            AssertErrors(parseResult);
            AendringDefinition parseResultResult = parseResult.Result;

            AssertTargetElementChain(expectedExplicatus, expectedAktionType, expectedTypes, parseResultResult, parseResultResult.Target);
        }
示例#3
0
        public void Test_ParentContextTargetIsParsedCorrectly(string input, AktionType aktionType, Type expectedTarget)
        {
            var parseResult = _sut.Parse(input);

            AssertErrors(parseResult);
            Assert.Equal(1, parseResult.Result.Target.GetAncestorsAndSelf.Count()); //one target level
            Assert.IsType(expectedTarget, parseResult.Result.Target);
            Assert.Null(parseResult.Result.Target.Nummer);
            Assert.Equal(aktionType, parseResult.Result.AktionType);
        }
示例#4
0
        public void WhenValidString_ParserReturnsObject(string inputString
                                                        , Type expectedTargetType
                                                        , object expectednumber
                                                        , AktionType expectedAktionType)
        {
            var parser = new AendringDefintionParser();
            var result = parser.Parse(inputString);

            Assert.Equal((new string[] { }).ToList(), result.ErrorResult.Errors);


            Assert.Equal(expectedAktionType, result.Result.AktionType);

            Assert.Equal(expectednumber, result.Result.Target.Nummer);
            Assert.IsType(expectedTargetType, result.Result.Target);
        }
示例#5
0
        private void AssertTargetElementChain(object[] expectedExplicatus, AktionType expectedAktionType,
                                              Type[] expectedType, AendringDefinition parseResultResult, Element elementTarget)
        {
            //Assert.Equal(Enumerable.Empty<string>(), parseResult.ErrorResult.Errors); //no errors
            Assert.Equal(expectedType.Count(), Enumerable.Count <Element>(elementTarget.GetAncestorsAndSelf)); //one target level
            Assert.Equal(expectedAktionType, parseResultResult.AktionType);

            //assert chain
            int counter = 0;

            Assert.All <Element>(elementTarget.GetAncestorsAndSelf, element =>
            {
                Assert.IsType(expectedType[counter], element);
                Assert.Equal(expectedExplicatus[counter].ToString(), element.Nummer.ToString());
                counter++;
            });
        }
示例#6
0
        private void AssertAllTargetChains(object[][] explicatusChains, Type[][] elementTypes, ParseResult <AendringDefinition> result, AktionType expectedAktionType)
        {
            Assert.Equal(explicatusChains.Length, result.Result.Targets.Length);

            int counter = 0;

            Assert.All(explicatusChains, chain =>
            {
                AendringDefinition parseResultResult = result.Result;
                AssertTargetElementChain(chain, expectedAktionType, elementTypes[counter], parseResultResult,
                                         parseResultResult.Targets[counter]);
                counter++;
            });
        }
 private AendringDefinition BuildAendringDefintion(Element target, AktionType aktionType)
 {
     return(BuildAendringDefintion(new[] { target }, aktionType));
 }