Composition & Unit testing with MS test
Agenda
Composition vs Inheritance
Example 1. Point and Triangle
Task-Homework 1
Unit testing with MS test
Unit Testing
Test-Driven Development (TDD)
Unit-testing frameworks
Creating Unit Tests
Kinds of Assert Classes
public static class Assert
Example 1. Testing Bank project
Create project and Unit test example
Create project and Unit test example
Task & Homework 10
2.23M
Category: programmingprogramming

Composition & Unit testing with MS test

1. Composition & Unit testing with MS test

Composition &
Unit testing with MS test
By Ira Zavushchak

2. Agenda

SoftServe Confidential
Agenda
Composition vs Inheritance?
Examples
Unit testing
TDD
Creating MS Test project
Assert class
Examples

3. Composition vs Inheritance

SoftServe Confidential
Composition vs Inheritance
Object Composition is a way to combine simple objects or data types into more complex
ones.
Inheritance is a way to form new classes by using classes that have already been defined.
Composition realizes ”has a” relationship: A car "has an" engine, a person "has a" name,
etc.
Inheritance realizes ”is a” relationship. A car "is a" vehicle, a student "is a" person, etc.

4. Example 1. Point and Triangle

SoftServe Confidential

5.

Example 2. Slide, Presentation
SoftServe Confidential

6. Task-Homework 1

SoftServe Confidential
Task-Homework 1
Create struct Point:
- fields x and y,
- method Distance() to calculate distance between points
- method ToString(), which return the Point in format "(x,y)"
Create class Triangle:
- fields vertex1, vertex2, vertex3 of type Point
- constructors
- methods Perimeter(), Square(), Print()
In the Main() create list of 3 triangles and write into console the information about these
shapes.
*Print the triangle with vertex which is the closest to origin (0,0)

7. Unit testing with MS test

8. Unit Testing

SoftServe Confidential
Unit Testing
Unit testing is a procedure used to validate that individual units of source code (methods,
properties, classes) are working properly.
Unit tests
Production Code

9. Test-Driven Development (TDD)

The traditional way of writing unit tests
Test-driven development
SoftServe Confidential

10. Unit-testing frameworks

SoftServe Confidential
Unit-testing frameworks
UTF for .NET:
MSTest
NUnit
XUnit

11. Creating Unit Tests

SoftServe Confidential
Creating Unit Tests

12. Kinds of Assert Classes

SoftServe Confidential
Microsoft.VisualStudio.TestTools.UnitTesting namespace:
class Assert
In your test method, you can call any number of methods of the Assert class, such as
Assert.AreEqual(). The Assert class has many methods to choose from, and many of those
methods have several overloads.
class CollectionAssert
Use the CollectionAssert class to compare collections of objects, and to verify the state of one or
more collections.
class StringAssert
Use the StringAssert class to compare strings. This class contains a variety of useful methods such
as StringAssert.Contains, StringAssert.Matches, and StringAssert.StartsWith.

13. public static class Assert

SoftServe Confidential
Name
Description
AreEqual(Object, Object)
Verifies that two specified objects are equal. The assertion fails if the objects are not equal.
AreNotEqual(Object, Object)
Verifies that two specified objects are not equal. The assertion fails if the objects are equal.
AreNotSame(Object, Object)
Verifies that two specified object variables refer to different objects. The assertion fails if
they refer to the same object.
AreSame(Object, Object)
Verifies that two specified object variables refer to the same object. The assertion fails if
they refer to different objects.
Fail()
Fails the assertion without checking any conditions.
Inconclusive()
Indicates that the assertion cannot be verified.
IsFalse(Boolean)
Verifies that the specified condition is false. The assertion fails if the condition is true.
IsTrue(Boolean)
Verifies that the specified condition is true. The assertion fails if the condition is false.
IsInstanceOfType(Object, Type)
Verifies that the specified object is an instance of the specified type. The assertion fails if the
type is not found in the inheritance hierarchy of the object.
IsNotInstanceOfType(Object, Type)
Verifies that the specified object is not an instance of the specified type. The assertion fails if
the type is found in the inheritance hierarchy of the object.
IsNull(Object)
Verifies that the specified object is null. The assertion fails if it is not null.
IsNotNull(Object)
Verifies that the specified object is not null. The assertion fails if it is null.

14. Example 1. Testing Bank project

SoftServe Confidential

15. Create project and Unit test example

SoftServe Confidential
Create project and Unit test example
1. Create project MyCalcLib
2. Right click on Solution
Add
Test “MyCalcTests”
3. Right click on References
Add References
project “MyCalcLib”

16. Create project and Unit test example

SoftServe Confidential
Create project and Unit test example
After this click Build
Solution

17. Task & Homework 10

SoftServe Confidential
Task & Homework 10
Add Test project to your solution and write unit tests for Point and Triangle
classes.
Add Unit tests to one of your previous class – Person, Car …
English     Русский Rules