public void CreateDerivedList_Creates_Initial_Items()
        {
            var source = new AvaloniaList <int>(new[] { 0, 1, 2, 3 });
            var target = source.CreateDerivedList(x => new Wrapper(x));
            var result = target.Select(x => x.Value).ToList();

            Assert.Equal(source, result);
        }
        public void CreateDerivedList_Handles_Move()
        {
            var source = new AvaloniaList <int>(new[] { 0, 1, 2, 3 });
            var target = source.CreateDerivedList(x => new Wrapper(x));

            source.Move(2, 0);

            var result = target.Select(x => x.Value).ToList();

            Assert.Equal(source, result);
        }
        public void CreateDerivedList_Handles_MoveRange(int oldIndex, int count, int newIndex)
        {
            var source = new AvaloniaList <int>(new[] { 0, 1, 2, 3, 4, 5 });
            var target = source.CreateDerivedList(x => new Wrapper(x));

            source.MoveRange(oldIndex, count, newIndex);

            var result = target.Select(x => x.Value).ToList();

            Assert.Equal(source, result);
        }