public void DisposeTest() { var collection = new ObservableCollection <string> { "1000", "1001" }; NotifyCollectionChangedEventHandler eventHandler; var type = collection.GetType(); var targetEvent = type.GetField(nameof(INotifyCollectionChanged.CollectionChanged), BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); collection.Add("1001"); eventHandler = (NotifyCollectionChangedEventHandler)targetEvent.GetValue(collection); // イベントが1件購読されていることを確認する var beforeActual = eventHandler.GetInvocationList(); Assert.Single(beforeActual); ((IDisposable)converter).Dispose(); // イベント購読解除の確認 // 購読がない為はnullが返る eventHandler = (NotifyCollectionChangedEventHandler)targetEvent.GetValue(collection); Assert.Null(targetEvent.GetValue(collection)); Assert.Throws <ObjectDisposedException>( () => ((IDisposable)converter).Dispose()); }
public void ConstructorFailTest() { Assert.Throws <NotSupportedException>(() => { var collection = new List <string>(); var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); }); }
public void AddTest() { var collection = new ObservableCollection <string>(); var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); collection.Add("10"); Assert.Contains(10, converter); Assert.Equal(converter.Count, collection.Count); }
public void ConstructorTest() { var collection = new ObservableCollection <string> { "1" }; var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); Assert.Contains(1, converter); Assert.Equal(converter.Count, collection.Count); }
public void MoveTest() { var collection = new ObservableCollection <string> { "100", "200" }; var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); collection.Move(1, 0); Assert.Equal(200, converter.ElementAt(0)); Assert.Equal(100, converter.ElementAt(1)); Assert.Equal(converter.Count, collection.Count); }
public void ReplaceTest() { var collection = new ObservableCollection <string> { "150" }; var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); Assert.Equal(150, converter.ElementAt(0)); Assert.Equal(converter.Count, collection.Count); collection[0] = "352"; Assert.Equal(352, converter.ElementAt(0)); Assert.Equal(converter.Count, collection.Count); }
public void ResetTest() { var collection = new ObservableCollection <string> { "1000", "1001" }; var converter = new NotifyCollectionConverter <string, int>(collection, Create, Update); Assert.NotEmpty(converter); Assert.Equal(2, converter.Count); collection.Clear(); Assert.Empty(converter); }