public void TestExceptionAtSetAtWrongIndex() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); Assert.Throws <ArgumentOutOfRangeException>(() => sut[5] = 3); }
public void TestExceptionAtInsertAtWrongIndex() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); Action act = () => sut.Insert(5, 5); var exception = Assert.Throws <ArgumentOutOfRangeException>(act); Assert.Equal("index", exception.ParamName); }
public void TestCopyToArgumentOutOfRangeException() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); int[] arr = new int[10]; Action act = () => sut.CopyTo(arr, -1); var exception = Assert.Throws <ArgumentOutOfRangeException>(act); Assert.Equal("arrayIndex", exception.ParamName); }
public void TestCopyToArgumentNullException() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); int[] arr = null; Action act = () => sut.CopyTo(arr, 0); var exception = Assert.Throws <ArgumentNullException>(act); Assert.Equal("array", exception.ParamName); }
public void TestCopyToArgumentException() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); int[] arr = new int[2]; Action act = () => sut.CopyTo(arr, 1); var exception = Assert.Throws <ArgumentException>(act); Assert.Equal("Not enough space to copy all elements", exception.Message); }
public void TestNotSuportedExceptionAtRemoveAt() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); sut.ReadOnly(); Action act = () => sut.RemoveAt(2); var exception = Assert.Throws <NotSupportedException>(act); Assert.Equal("The collection is read only", exception.Message); }
public void AddValueAndResizeSortedArray() { var sut = new IListCollection <int>(); sut.Add(0); sut.Add(2); sut.Add(3); sut.Add(4); sut.Add(1); sut.Add(6); sut.Add(7); sut.Add(8); sut.Add(9); sut.Add(10); //- 0,2,3,4,1,6,7,8,9,10 sut.Insert(5, 5); //- 0,2,3,4,1,5,6,7,8,9,10 sut.RemoveAt(10); //- 0,2,3,4,5,6,7,8,9 sut.Remove(8); //- 0,2,3,4,5,6,7,9 Assert.Equal(2, sut[1]); Assert.Equal(5, sut[5]); Assert.Equal(7, sut[7]); Assert.Equal(9, sut[8]); Assert.Equal(2, sut.IndexOf(3)); }
/// <summary> /// Objects from meta entity. /// </summary> /// <param name="entity">The entity.</param> /// <param name="output">The output.</param> /// <param name="provider">The provider.</param> /// <returns></returns> public Object ObjectFromMetaEntity(MetaEntity entity, Object output, TypedObjectProvider provider) { if (provider == null) { provider = GetProviderForEntityClass(entity.EntityClassDefinition); } if (output == null) { output = provider.type.getInstance(null); } DeploySetters(output, entity, provider); foreach (TypePropertyMapItem item in provider.items) { if (item.metaPropertyName == ".") { Object typeTarget = item.propertyInfo.GetValue(output, null); DeploySetters(typeTarget, entity, item.TypeProvider); } else { if (item.metaProperty.type.HasFlag(MetaEntityClassPropertyType.value)) { if (item.metaProperty.type.HasFlag(MetaEntityClassPropertyType.collection)) { } else { } } else if (item.metaProperty.type.HasFlag(MetaEntityClassPropertyType.entity)) { var subentity = entity.Items.FirstOrDefault(x => x.name == item.metaProperty.name); if (item.metaProperty.type.HasFlag(MetaEntityClassPropertyType.collection)) { Object collection = item.propertyInfo.GetValue(output, null); if (collection is IList IListCollection) { foreach (MetaEntity entityItem in subentity.Items) { Object instanceItem = ObjectFromMetaEntity(entityItem, null, item.TypeProvider); IListCollection.Add(instanceItem); } } } else { Object subtyped_instance = item.propertyInfo.GetValue(output, null); Object subinstance = ObjectFromMetaEntity(subentity, subtyped_instance, item.TypeProvider); item.propertyInfo.SetValue(output, subinstance, new object[] { }); } } } } return(output); }