コード例 #1
0
        public void RandomlyChangeDirection()
        {
            RandomGenerator.ResetRandomGenerator();

            var list = new ObservableList <int>();

            foreach (var value in Enumerable.Range(0, 100))
            {
                list.Add(list.Count, RandomGenerator.GenerateRandomInteger());
            }

            var index = new ActiveValue <ListSortDirection>();

            var sut       = list.ActiveOrderBy(i => i, index);
            var watcher   = new CollectionSynchronizationWatcher <int>(sut);
            var validator = new LinqValidator <int, int, int>(list, sut, l => index.Value == ListSortDirection.Ascending ? l.OrderBy(i => i) : l.OrderByDescending(i => i), false, null);

            foreach (var value in Enumerable.Range(0, 10))
            {
                index.Value = RandomGenerator.GenerateRandomInteger(0, 2) == 0 ? ListSortDirection.Ascending : ListSortDirection.Descending;

                validator.Validate();
            }
        }