Exemplo n.º 1
0
    public void RemoveRangeTest()
    {
        var source = new RangedObservableCollection <Person>(new[]
        {
            new Person {
                Name = "tanaka1", IsRemoved = false
            },
            new Person {
                Name = "tanaka2", IsRemoved = true
            },
            new Person {
                Name = "tanaka3", IsRemoved = false
            },
            new Person {
                Name = "tanaka4", IsRemoved = true
            },
            new Person {
                Name = "tanaka5", IsRemoved = false
            },
        });

        var filtered = source.ToFilteredReadOnlyObservableCollection(x => !x.IsRemoved);
        var buffer   = new List <NotifyCollectionChangedEventArgs>();

        filtered.Is(source[0], source[2], source[4]);
        source.RemoveRange(new[]
        {
            source[0], source[1], source[2],
        });
        filtered.Is(source.Last());
    }
Exemplo n.º 2
0
    public void ReplaceRangeTest()
    {
        var c        = new RangedObservableCollection <Person>();
        var filtered = c.ToFilteredReadOnlyObservableCollection(x => x.IsRemoved);
        var people   = Enumerable.Range(1, 1000000).Select(x => new Person
        {
            Name      = $"tanaka {x}",
            IsRemoved = x % 2 == 0,
        });

        c.ReplaceRange(people);
        filtered.Count.Is(500000);
    }
Exemplo n.º 3
0
    public void AddRangeSmallItemsCaseTest()
    {
        var c        = new RangedObservableCollection <Person>();
        var filtered = c.ToFilteredReadOnlyObservableCollection(x => x.IsRemoved);
        var people   = Enumerable.Range(1, 6).Select(x => new Person
        {
            Name      = $"tanaka {x}",
            IsRemoved = x % 2 == 0,
        });

        c.AddRange(people);
        filtered.Count.Is(3);
    }