Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }