logo search
TP_3_att

Группы утверждений, классическая и закрытая модель утверждений

В nUnit поддерживаются 2 модели для утверждений – классическая и закрытая.Классическая модель предполагает непосредственное обращение к методам класса Assert. В закрытой модели используется единственный метод класса Assert – метод That. Этот метод возвращает объект, в котором реализована вся логика, необходимая для проверки утверждения: Assert.That( myString, Is.EqualTo("Hello") );

При таком вызове создается объект EqualConstraint, реализующий необходимую логику, поэтому вышеприведенный пример можно переписать в виде:Assert.That( myString, new EqualConstraint("Hello"));

Группы утверждений: утверждения равенства, утверждения сравнения, утверждения о типах, утверждения о строках

Равенства: Осуществляют проверку равенства значений двух своих аргументов. Два основных метода AreEqual и AreNotEqual реализованы для разных типов данных. При несовпадении типов осуществляется корректное приведение к необходимому типу. При сравнении вещественных значений в качестве третьего аргумента задается требуемая точность:Assert.AreEqual( float expected, float actual, float tolerance ). Допускается сравнение массивов и коллекций: два массива считаются равными, если равны их размеры и совпадают значения соответствующих элементов.

Сравнения: Осуществляют сравнение 2 величин. Основные методы:

Assert.Greater( int arg1, int arg2 ); Assert.GreaterOrEqual( int arg1, int arg2 ); Assert.Less( int arg1, int arg2 ); Assert.LessOrEqual ( int arg1, int arg2 );

Подобные методы реализованы и для других типов аргументов.

О типах: Позволяют проверить принадлежность объекта определенному типу. Основные методы:

•Assert.IsInstanceOfType( Type expected, object actual );

•Assert.IsNotInstanceOfType( Type expected, object actual );

•Assert.IsAssignableFrom( Type expected, object actual );

•Assert.IsNotAssignableFrom( Type expected, object actual );

О строках: Основные методы:

•StringAssert.Contains( string expected, string actual );

•StringAssert.StartsWith( string expected, string actual );

•StringAssert.EndsWith( string expected, string actual );

•StringAssert.AreEqualIgnoringCase( string expected, string actual );

•StringAssert.IsMatch( string expected, string actual );

Проверка условий: Еще одна группа методов, использующих один, аргумент служит для проверки различных условий:

Assert.IsTrue( bool condition ), Assert.IsFalse( bool condition); Assert.IsNull( object anObject ); Assert.IsNotNull( object anObject );

Assert.IsEmpty( string aString ); Assert.IsNotEmpty( string aString );