public void ComplexChangeTest()
        {
            var current = new List <string> {
                "a", "b", "c", "c", "d", "e", "f", "f", "g"
            };
            var next = new List <string> {
                "c", "d", "f", "a", "b", "d", "g", "f", "g", "g"
            };
            var points = new List <int[]>
            {
                new [] { 0, 0 },
                new [] { 0, 1 },
                new [] { 0, 2 },
                new [] { 0, 3, 2, 5 },
                new [] { 3, 5 },
                new [] { 4, 5, 5, 6 },
                new [] { 6, 6 },
                new [] { 7, 6 },
                new [] { 7, 7, 8, 8 },
                new [] { 8, 9, 9, 10 }
            };
            var expectedDiffs = CreateQueueFromCoordList(points);
            var actualDiffs   = ListDifferenceFinder.CreateShortestEditQueue(current, next);

            Assert.IsTrue(EditQueuesAreEqual(expectedDiffs, actualDiffs));
        }
        public void CreateOne()
        {
            var current = new List <string>();
            var next    = new List <string> {
                "a"
            };
            var points = new List <int[]>
            {
                new [] { 0, 0 },
                new [] { 0, 1 }
            };
            var expectedDiffs = CreateQueueFromCoordList(points);
            var actualDiffs   = ListDifferenceFinder.CreateShortestEditQueue(current, next);

            Assert.IsTrue(EditQueuesAreEqual(expectedDiffs, actualDiffs));
        }