public void EqualInitially() { var value = new ActiveValue <IEnumerable <int> >(new[] { 1, 2, 3 }); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); Assert.True(value.Value.SequenceEqual(sut)); }
public void RemoveAll() { var value = new ActiveValue <IEnumerable <int> >(new[] { 0 }); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); value.Value = new int[0]; Assert.True(value.Value.SequenceEqual(sut)); }
public void AddWithDuplicates() { var value = new ActiveValue <IEnumerable <int> >(new[] { 1, 1, 2 }); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); value.Value = new[] { 0, 0, 1, 1, 1, 2, 2 }; Assert.True(value.Value.SequenceEqual(sut)); }
public void AddMultiple() { var value = new ActiveValue <IEnumerable <int> >(new[] { 1, 2, 4, 6, 7, 8 }); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); value.Value = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Assert.True(value.Value.SequenceEqual(sut)); }
public void InsertInMiddle() { var value = new ActiveValue <IEnumerable <int> >(new[] { 1, 2, 4, 5 }); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); value.Value = new[] { 1, 2, 3, 4, 5 }; Assert.True(value.Value.SequenceEqual(sut)); }
public void StartListInActiveValueAsNull() { RandomGenerator.ResetRandomGenerator(); var value = new ActiveValue <IEnumerable <int> >(); value.Value = null; var sut = value.ToActiveList(); Assert.True(sut.SequenceEqual(new int[0])); }
public void ReplaceListInActiveValueWithNull() { RandomGenerator.ResetRandomGenerator(); var value = new ActiveValue <IEnumerable <int> >(); value.Value = RandomGenerator.GenerateRandomIntegerList(50); var sut = value.ToActiveList(); value.Value = null; Assert.True(sut.SequenceEqual(new int[0])); }
public void RandomReplaceOperations() { RandomGenerator.ResetRandomGenerator(); var value = new ActiveValue <IEnumerable <int> >(new int[0]); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); for (int i = 0; i < 500; ++i) { var count = RandomGenerator.GenerateRandomInteger(0, 50); value.Value = RandomGenerator.GenerateRandomIntegerList(count, 0, 50); Assert.True(value.Value.SequenceEqual(sut)); } }
public void ModifyListInActiveValue() { RandomGenerator.ResetRandomGenerator(); var value = new ActiveValue <IEnumerable <int> >(); value.Value = RandomGenerator.GenerateRandomIntegerList(100); var sut = value.ToActiveList(); var list = new ObservableList <int>(); value.Value = list; list.Add(0, 5); list.Add(1, 10); list.Add(1, 15); Assert.True(value.Value.SequenceEqual(sut)); list.Remove(1); Assert.True(value.Value.SequenceEqual(sut)); }
public void ReplaceListInActiveValueCausesReset() { RandomGenerator.ResetRandomGenerator(); var value = new ActiveValue <IEnumerable <int> >(); value.Value = RandomGenerator.GenerateRandomIntegerList(50); var sut = value.ToActiveList(); bool resetTriggered = false; sut.CollectionChanged += (s, e) => { if (e.Action == NotifyCollectionChangedAction.Reset) { resetTriggered = true; } }; value.Value = RandomGenerator.GenerateRandomIntegerList(100); Assert.True(resetTriggered); }
public void RandomChangeOperations() { RandomGenerator.ResetRandomGenerator(); var value = new ActiveValue <IEnumerable <object> >(Enumerable.Range(0, 50).Select(i => new object())); var sut = value.ToActiveList().ActiveTranslateResetNotifications(); int addCount = 0; int removeCount = 0; sut.CollectionChanged += (s, e) => { if (e.Action == NotifyCollectionChangedAction.Add) { ++addCount; } if (e.Action == NotifyCollectionChangedAction.Remove) { ++removeCount; } }; for (int i = 0; i < 100; ++i) { var list = new ObservableList <object>(); foreach (var item in sut) { list.Add(list.Count, item); } int targetAddCount = 0; int targetRemoveCount = 0; foreach (var index in Enumerable.Range(0, 10)) { if (list.Count > 0) { ++targetRemoveCount; list.Remove(RandomGenerator.GenerateRandomInteger(0, list.Count)); } break; } foreach (var index in Enumerable.Range(0, 15)) { ++targetAddCount; list.Add(RandomGenerator.GenerateRandomInteger(0, list.Count), new object()); break; } foreach (var index in Enumerable.Range(0, 10)) { list.Move(RandomGenerator.GenerateRandomInteger(0, list.Count), RandomGenerator.GenerateRandomInteger(0, list.Count)); } value.Value = list; Assert.Equal(addCount, targetAddCount); Assert.Equal(removeCount, targetRemoveCount); Assert.True(value.Value.SequenceEqual(sut)); addCount = 0; removeCount = 0; } }