Пример #1
0
        public void ChangedElementsPasses()
        {
            var originalDocument = @"
                - lorem: ipsum
            ";
            var changedDocument  = @"
                - lorem: dolor
            ";

            var result = new SequenceNodeComparer().Compare(new Path(), (YamlSequenceNode)Parser.Parse(originalDocument), (YamlSequenceNode)Parser.Parse(changedDocument));

            Assert.Empty(result);
        }
Пример #2
0
        public void DetectAddedChild()
        {
            var originalDocument = @"
                - lorem: ipsum
                - dolor: sit
            ";
            var changedDocument  = @"
                - lorem: ipsum
            ";

            var result = new SequenceNodeComparer().Compare(new Path(), (YamlSequenceNode)Parser.Parse(originalDocument), (YamlSequenceNode)Parser.Parse(changedDocument));

            Assert.Single(result);
            Assert.Equal(new object[] { 1 }, result.Single().Path.Segments);
            Assert.Equal(ChangeType.Addition, result.Single().ChangeType);
        }
Пример #3
0
        public void IgnoreTranspositionByDeletion()
        {
            var originalDocument = @"
                - dolor: sit
            ";
            var changedDocument  = @"
                - amet: elit
                - dolor: sit
            ";

            var result = new SequenceNodeComparer().Compare(new Path(), (YamlSequenceNode)Parser.Parse(originalDocument), (YamlSequenceNode)Parser.Parse(changedDocument));

            Assert.Equal(2, result.Count());
            Assert.Equal(new object[] { 0 }, result.ElementAt(0).Path.Segments);
            Assert.Equal(ChangeType.Deletion, result.ElementAt(0).ChangeType);
            Assert.Equal(new object[] { 0 }, result.ElementAt(1).Path.Segments);
            Assert.Equal(ChangeType.ImplicitTransposition, result.ElementAt(1).ChangeType);
        }
Пример #4
0
        public void DetectTransposedChild()
        {
            var originalDocument = @"
                - lorem: ipsum
                - dolor: sit
                - amet: elit
            ";
            var changedDocument  = @"
                - dolor: sit
                - amet: elit
                - lorem: ipsum
            ";

            var result = new SequenceNodeComparer().Compare(new Path(), (YamlSequenceNode)Parser.Parse(originalDocument), (YamlSequenceNode)Parser.Parse(changedDocument));

            Assert.Equal(3, result.Count());
            Assert.Equal(new object[] { 0 }, result.ElementAt(0).Path.Segments);
            Assert.Equal(ChangeType.Transposition, result.ElementAt(0).ChangeType);
            Assert.Equal(new object[] { 1 }, result.ElementAt(1).Path.Segments);
            Assert.Equal(ChangeType.ImplicitTransposition, result.ElementAt(1).ChangeType);
            Assert.Equal(new object[] { 2 }, result.ElementAt(2).Path.Segments);
            Assert.Equal(ChangeType.ImplicitTransposition, result.ElementAt(2).ChangeType);
        }