public void ConcurrentChangeTrackedComplexTypeListReadOnlyWithNull() { var list = new ConcurrentChangeTrackedModifiableList <DummyComplexType>(new List <DummyComplexType> { null }); list.IsReadOnly = true; Assert.Throws <InvalidOperationException>(() => list.Add(new DummyComplexType())); }
public void ConcurrentChangeTrackedComplexTypeListHasBeenModifiedWithNull() { var list = new ConcurrentChangeTrackedModifiableList <DummyComplexType>(new List <DummyComplexType> { null }); list.Add(null); Assert.True(list.HasBeenModified); }
public void ConcurrentChangeTrackedComplexTypeListReadOnly() { var list = new ConcurrentChangeTrackedModifiableList <DummyComplexType>(new List <DummyComplexType> { new DummyComplexType() }); list.IsReadOnly = true; Assert.Throws <InvalidOperationException>(() => list.Add(new DummyComplexType())); Assert.False(list.HasBeenModified); Assert.True(list.First().IsReadOnly); }
public void IModifiableCollectionFromExistingCollectionIsNotChanged() { IEnumerable <Protocol.Models.MetadataItem> collection = new List <Protocol.Models.MetadataItem>() { new Protocol.Models.MetadataItem("a", "b") }; ConcurrentChangeTrackedModifiableList <MetadataItem> result = UtilitiesInternal.CollectionToThreadSafeCollectionIModifiable( collection, objectCreationFunc: o => new MetadataItem(o)); Assert.False(result.HasBeenModified); }
public void ModifiableItemChangedUpdatesList() { var list = new ConcurrentChangeTrackedModifiableList <DummyComplexType>( new List <DummyComplexType> { new DummyComplexType() }); Assert.Equal(1, list.Count); Assert.False(list.HasBeenModified); list.First().HasBeenModified = true; Assert.True(list.HasBeenModified); }