Пример #1
0
        public void SourceManipulation()
        {
            var things = new RangeObservableCollection <object>(new object[]
            {
                0,
                false,
                "John",
                DateTime.Now,
                "Emily",
                Guid.NewGuid(),
                "Charles",
                TimeSpan.Zero,
                new object()
            });

            using (var strings = things.ActiveOfType <string>())
            {
                void checkStrings(params string[] against) => Assert.IsTrue(strings.OrderBy(s => s).SequenceEqual(against));

                checkStrings("Charles", "Emily", "John");
                things.Add("Bridget");
                things.Remove("John");
                things.Move(things.Count - 1, 0);
                checkStrings("Bridget", "Charles", "Emily");
                things.Reset(new object[]
                {
                    new object(),
                    TimeSpan.Zero,
                    "George",
                    Guid.NewGuid(),
                    "Craig",
                    DateTime.Now,
                    "Cliff",
                    false,
                    0
                });
                checkStrings("Cliff", "Craig", "George");
            }
        }