public void InsertNullReferenceExceptionTest() { var exception = Xunit.Record.Exception(() => { var master = new MasterClass(); var arra = new DetailArrayOfDetailClass(master); arra.Insert(0, null); }); Assert.IsType(typeof(NullReferenceException), exception); }
public void AddObjectDetailArrayAlreadyContainsObjectWithThatKeyExceptionTest() { var exception = Xunit.Record.Exception(() => { var arrayOfDetailClass = new DetailArrayOfDetailClass(new MasterClass()); var detail = new DetailClass(); arrayOfDetailClass.Add(detail); arrayOfDetailClass.Add(detail); }); Assert.IsType(typeof(DetailArrayAlreadyContainsObjectWithThatKeyException), exception); }
public void InsertArgumentOutOfRangeExceptionTest() { var exception = Xunit.Record.Exception(() => { var obj = new MasterClass(); // Массив детейловых объектов. var dArr = new DetailArrayOfDetailClass(obj); // Детейловый объект. var дObj1 = new DetailClass() { Detailproperty = "первый" }; dArr.Insert(-1, дObj1); }); Assert.IsType(typeof(ArgumentOutOfRangeException), exception); }
public void InsertTest() { // Строки, содержащие значения свойств Detailproperty детейловых объектов из массива детейловых объектов до и после вставки. var expected = string.Empty; var actual = string.Empty; // Входной параметр: новый объект класса MasterClass. var obj = new MasterClass(); // Массив детейловых объектов. var dArr = new DetailArrayOfDetailClass(obj); // Детейловые объекты. var дObj1 = new DetailClass() { Detailproperty = "первый" }; var дObj2 = new DetailClass() { Detailproperty = "второй" }; var objectForInsert = new DetailClass { Detailproperty = "влез без очереди" }; dArr.Insert(0, дObj1); dArr.Insert(1, дObj2); for (var i = 0; i < 2; i++) { expected += dArr[i].Detailproperty; } dArr.Insert(1, objectForInsert); for (var i = 0; i < 2; i++) { actual += dArr[i].Detailproperty; } // Ожидаемый результат: строки со значениями Детейлproperty различны. Assert.NotEqual(expected, actual); }