Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Порядок выполнения работы. В данном порядке выполнения лабораторной работы будет произведено написание тестов для функций слоя доступа к данным DAO






В данном порядке выполнения лабораторной работы будет произведено написание тестов для функций слоя доступа к данным DAO, разработанным и реализованным в четвертой лабораторной работе.

Для тестирования будет использоваться Unit Testing Framework, который включен в Visual Studio 2008.

1. Создайте консольное приложение Windows (нажмите «Файл», в меню выберите «Создать», затем «Проект», в диалоговом окне выберите «Windows», «Консольное приложение», введите имя проекта, например lab6, и выберите каталог, в котором будет храниться проект).

2. Создайте в проекте каталоги dao, domain, mapping. Перенесите в эти каталоги любым доступным способом классы слоя доступа к данным, реализованные в четвертой лабораторной работе. Это можно сделать, например, с использованием файлового менеджера Total Commander.

Откройте каталог dao с четвертой лабораторной работы и скопируйте все классы в каталог dao проекта консольного приложения. Результаты копирования представлены на рисунке 6.1.

Рисунок 5.1 – Результаты копирования классов с каталога dao предыдущего проекта в каталог dao WEB-приложения

Классы каталогов domain и mapping таким же образом необходимо скопировать в соответствующие каталоги консольного приложения.

После копирования классов в проекте они не появятся, их следует добавить в проект (нажмите правой кнопкой мыши на каталог dao и в контекстном меню выберете пункт «Добавить», «Существующий элемент», в открывшемся диалоге выберете все классы каталога dao консольного приложения и нажмите «Добавить»). Те же действия произведите с классами каталогов domain и mapping. В проекте должны появиться все классы слоя доступа к данным.

3. Подключите к проекту все необходимые библиотеки. Список библиотек приведен ниже:

Npgsql.dll
Mono.Security.dll
NHibernate.dll
Antlr3.Runtime.dll
Iesi.Collections.dll
log4net.dll
Castle.DynamicProxy2.dll
Castle.Core.dll
NHibernate.ByteCode.Castle.dll
FluentNHibernate.dll

Измените namespace каждого класса с lab4 на lab6 как показано в примере:

namespace lab4.dao { abstract public class DAOFactory { public abstract IStudentDAO getStudentDAO();   public abstract IGroupDAO getGroupDAO(); } } namespace lab6.dao { abstract public class DAOFactory { public abstract IStudentDAO getStudentDAO();   public abstract IGroupDAO getGroupDAO(); } }

 

Исправьте ошибки проекта и откомпилируйте проект с консольным приложением, он должен откомпилироваться без ошибок. Данный проект можно было и не создавать, а использовать проекты из предыдущих лабораторных работ, в которых присутсвует слой доступа к данным DAO.

4. Создайте тестирующий проект (нажмите «Файл», «Создать проект», в диалоговом окне выберите «Тест», «Тестовый проект», введите имя проекта, если имя тестируемого проекта lab6, то принято называть тестовый проект lab6Test, в поле «Решение» выберите «Добавить решение»). В тестовом проекте будут располагаться модульные тесты классов для слоя доступа к данным. Таким образом, у нас в одном решении содержится два проекта: тестируемый проект, классы которого необходимо проверить на работоспособность, и тестирующий проект, в котором будут содержаться модульные тесты.

5. На данный момент в проекте содержится один класс - UnitTest1, в котором содержится один тестовый метод TestMethod1. Если запустить процесс тестирования (нажать «Тест», «Выполнить», «Все тесты решения»), то один единственный тест проекта будет успешно пройден, поскольку в нем не содержится проверок. Удалите класс тестирования, созданный по умолчанию.

6. Подключите к тестирующему проекту проект lab6 и все библиотеки проекта lab6.

7. В тестирующем проекте необходимо создать набор классов, методы которых протестировали бы работоспособность методов классов слоя доступа к данным. Необходимо протестировать класс GroupDAO и класс StudentDAO, но поскольку эти классы являются наследниками шаблонного класса GenericDAO, то логично будет также вынести тестирование методов GenericDAO в шаблонный класс. Создайте в тестовом проекте три класса: TestGenericDAO, TestGroupDAO, TestStudentDAO. В классе TestGenericDAO будет производиться тестирование методов класса GenericDAO, в классе TestGroupDAO будет производиться тестирование методов класса GroupDAO, а в классе TestStudentDAO будет производиться тестирование методов класса StudentDAO. Тестовый класс обычно состоит из набора методов-тестов помеченных атрибутом [TestMethod]. Также может содержаться метод инициализации теста, который вызывается перед запуском метода-теста и помечен атрибутом [TestInitialize], и метод очистки теста, который вызывается каждый раз по завершению метода-теста и помечен атрибутом [TestCleanup]. Также могут присутствовать методы инициализации и очистки уровня класса, которые вызываются перед запуском первого теста и после последнего теста соответственно.

8. Текст тестового класса TestGenericDAO приведен ниже:

 

using System;

using Microsoft.VisualStudio.TestTools.UnitTesting;

using NHibernate;

using NHibernate.Criterion;

using System.Collections.Generic;

using FluentNHibernate;

using FluentNHibernate.Cfg;

using FluentNHibernate.Cfg.Db;

using FluentNHibernate.Automapping;

using NHibernate.Tool.hbm2ddl;

using System.Reflection;

using FluentNHibernate.Mapping;

using NHibernate.Cfg;

using lab6.mapping;

using lab6.dao;

using lab6.domain;

 

namespace lab6

{

[TestClass()]

public abstract class TestGenericDAO< T> where T: EntityBase

{

 

protected static ISessionFactory factory;

protected static ISession session;

protected DAOFactory daoFactory;

protected TestContext testContextInstance;

/** DAO that will be tested */

protected IGenericDAO< T> dao = null;

 

/** First entity that will be used in tests */

protected T entity1 = null;

/** Second entity that will be used in tests */

protected T entity2 = null;

/** Third entity that will be used in tests */

protected T entity3 = null;

 

public TestGenericDAO()

{

session = openSession(" localhost", 5432, " university",

" postgres", " 111111");

}

 

public TestContext TestContext

{

get

{

return testContextInstance;

}

set

{

testContextInstance = value;

}

}

 

/*Getting dao this test case works with*/

public IGenericDAO< T> getDAO()

{

return dao;

}

 

/*Setting dao this test case will work with*/

public void setDAO(IGenericDAO< T> dao)

{

this.dao = dao;

}

 

[ClassCleanup]

public static void ClassCleanup()

{

session.Close();

}

 

[TestInitialize]

public void TestInitialize()

{

Assert.IsNotNull(dao,

" Please, provide IGenericDAO implementation in constructor");

createEntities();

Assert.IsNotNull(entity1, " Please, create object for entity1");

Assert.IsNotNull(entity2, " Please, create object for entity2");

Assert.IsNotNull(entity3, " Please, create object for entity3");

checkAllPropertiesDiffer(entity1, entity2);

checkAllPropertiesDiffer(entity1, entity3);

checkAllPropertiesDiffer(entity2, entity3);

saveEntitiesGeneric();

}

 

[TestCleanup]

public void TestCleanup()

{

try {

if ((entity1 = dao.GetById(entity1.Id))! = null)

dao.Delete(entity1);

} catch (Exception){

Assert.Fail(" Problem in cleanup method");

}

try {

if ((entity2 = dao.GetById(entity2.Id))! = null)

dao.Delete(entity2);

} catch (Exception) {

Assert.Fail(" Problem in cleanup method");

}

try {

if ((entity3 = dao.GetById(entity3.Id))! = null)

dao.Delete(entity3);

} catch (Exception) {

Assert.Fail(" Problem in cleanup method");

}

entity1 = null;

entity2 = null;

entity3 = null;

}

 

[TestMethod]

public void TestGetByIdGeneric()

{

T foundObject = null;

// Should not find with inexistent id

try

{

long id = DateTime.Now.ToFileTime();

foundObject = dao.GetById(id);

Assert.IsNull(foundObject, " Should return null if id is inexistent");

}

catch (Exception)

{

Assert.Fail(" Should return null if object not found");

}

// Getting all three entities

getEntityGeneric(entity1.Id, entity1);

getEntityGeneric(entity2.Id, entity2);

getEntityGeneric(entity3.Id, entity3);

}

 

[TestMethod]

public void TestGetAllGeneric()

{

List< T> list = getListOfAllEntities();

Assert.IsTrue(list.Contains(entity1),

" After dao method GetAll list should contain entity1");

Assert.IsTrue(list.Contains(entity2),

" After dao method GetAll list should contain entity2");

Assert.IsTrue(list.Contains(entity3),

" After dao method GetAll list should contain entity3");

}

 

[TestMethod]

public void TestDeleteGeneric()

{

try

{

dao.Delete((T)null);

Assert.Fail(" Should not delete entity will null id");

}

catch (Exception)

{

}

// Deleting second entity

try

{

dao.Delete(entity2);

}

catch (Exception)

{

Assert.Fail(" Deletion should be successful of entity2");

}

 

// Checking if other two entities can be still found

getEntityGeneric(entity1.Id, entity1);

getEntityGeneric(entity3.Id, entity3);

 

// Checking if entity2 can not be found

try

{

T foundEntity = null;

foundEntity = dao.GetById(entity2.Id);

Assert.IsNull(foundEntity,

" After deletion entity should not be found with id " + entity2.Id);

}

catch (Exception)

{

Assert.Fail(" Should return null if finding the deleted entity");

}

 

// Checking if other two entities can still be found in getAll list

List< T> list = getListOfAllEntities();

Assert.IsTrue(list.Contains(entity1),

" After dao method GetAll list should contain entity1");

Assert.IsTrue(list.Contains(entity3),

" After dao method GetAll list should contain entity3");

}

 

protected abstract void createEntities();

 

protected abstract void checkAllPropertiesDiffer(T entityToCheck1,

T entityToCheck2);

 

protected abstract void checkAllPropertiesEqual(T entityToCheck1,

T entityToCheck2);

 

protected void saveEntitiesGeneric()

{

T savedObject = null;

try

{

dao.SaveOrUpdate(entity1);

savedObject = getPersistentObject(entity1);

Assert.IsNotNull(savedObject,

" DAO method saveOrUpdate should return entity if successfull");

checkAllPropertiesEqual(savedObject, entity1);

entity1 = savedObject;

}

catch (Exception)

{

Assert.Fail(" Fail to save entity1");

}

try

{

dao.SaveOrUpdate(entity2);

savedObject = getPersistentObject(entity2);

Assert.IsNotNull(savedObject,

" DAO method saveOrUpdate should return entity if successfull");

checkAllPropertiesEqual(savedObject, entity2);

entity2 = savedObject;

}

catch (Exception)

{

Assert.Fail(" Fail to save entity2");

}

 

try

{

dao.SaveOrUpdate(entity3);

savedObject = getPersistentObject(entity3);

Assert.IsNotNull(savedObject,

" DAO method saveOrUpdate should return entity if successfull");

checkAllPropertiesEqual(savedObject, entity3);

}

catch (Exception)

{

Assert.Fail(" Fail to save entity3");

}

}

 

protected T getPersistentObject(T nonPersistentObject)

{

ICriteria criteria = session.CreateCriteria(typeof(T))

.Add(Example.Create(nonPersistentObject));

IList< T> list = criteria.List< T> ();

Assert.IsTrue(list.Count > = 1,

" Count of grups must be equal or more than 1");

return list[0];

}

 

protected void getEntityGeneric(long id, T entity)

{

T foundEntity = null;

try

{

foundEntity = dao.GetById(id);

Assert.IsNotNull(foundEntity,

" Service method getEntity should return entity if successfull");

checkAllPropertiesEqual(foundEntity, entity);

 

}

catch (Exception)

{

Assert.Fail(" Failed to get entity with id " + id);

}

}

 

protected List< T> getListOfAllEntities()

{

List< T> list = null;

 

// Should get not null and not empty list

try

{

list = dao.GetAll();

}

catch (Exception)

{

Assert.Fail(

" Should be able to get all entities that were added before");

}

Assert.IsNotNull(list,

" DAO method GetAll should return list of entities if successfull");

Assert.IsFalse(list.Count == 0,

" DAO method should return not empty list if successfull");

return list;

}

 

//Метод открытия сессии

public static ISession openSession(String host, int port,

String database, String user, String passwd)

{

ISession session = null;

if (factory == null)

{

FluentConfiguration configuration = Fluently.Configure()

.Database(PostgreSQLConfiguration

.PostgreSQL82.ConnectionString(c => c

.Host(host)

.Port(port)

.Database(database)

.Username(user)

.Password(passwd)))

.Mappings(m => m.FluentMappings.Add< StudentMap> ().Add< GroupMap> ())

.ExposeConfiguration(BuildSchema);

factory = configuration.BuildSessionFactory();

}

//Открытие сессии

session = factory.OpenSession();

return session;

}

 

//Метод для автоматического создания таблиц в базе данных

private static void BuildSchema(Configuration config)

{

new SchemaExport(config).Create(false, true);

}

}

}

 

9. Текст тестового класса TestGroupDAO приведен ниже:

 

using System;

using System.Collections.Generic;

using Microsoft.VisualStudio.TestTools.UnitTesting;

using lab6.domain;

using lab6.dao;

 

namespace lab6

{

[TestClass]

public class TestGroupDAO: TestGenericDAO< Group>

{

 

protected IGroupDAO groupDAO = null;

protected Student student1 = null;

protected Student student2 = null;

protected Student student3 = null;

 

public TestGroupDAO(): base()

{

DAOFactory daoFactory = new NHibernateDAOFactory(session);

groupDAO = daoFactory.getGroupDAO();

setDAO(groupDAO);

}

 

protected override void createEntities()

{

entity1 = new Group();

entity1.GroupName = " KS-091";

entity1.CuratorName = " Pronin P. P.";

entity1.HeadmanName = " Volosniy R. R.";

 

entity2 = new Group();

entity2.GroupName = " KS-092";

entity2.CuratorName = " Eroshenko G. L.";

entity2.HeadmanName = " Kruglenko T. R.";

 

entity3 = new Group();

entity3.GroupName = " KS-093";

entity3.CuratorName = " Grab E. E.";

entity3.HeadmanName = " Stecenko Q R.";

}

 

protected override void checkAllPropertiesDiffer(Group entityToCheck1,

Group entityToCheck2)

{

Assert.AreNotEqual(entityToCheck1.GroupName, entityToCheck2.GroupName,

" Values must be different");

Assert.AreNotEqual(entityToCheck1.CuratorName,

entityToCheck2.CuratorName, " Values must be different");

Assert.AreNotEqual(entityToCheck1.HeadmanName,

entityToCheck2.HeadmanName, " Values must be different");

}

 

protected override void checkAllPropertiesEqual(Group entityToCheck1,

Group entityToCheck2)

{

Assert.AreEqual(entityToCheck1.GroupName, entityToCheck2.GroupName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.CuratorName, entityToCheck2.CuratorName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.HeadmanName, entityToCheck2.HeadmanName,

" Values must be equal");

}

 

[TestMethod]

public void TestGetByIdGroup()

{

base.TestGetByIdGeneric();

}

 

[TestMethod]

public void TestGetAllGroup()

{

base.TestGetAllGeneric();

}

 

[TestMethod]

public void TestDeleteGroup()

{

base.TestDeleteGeneric();

}

 

[TestMethod]

public void TestGetGroupByName()

{

Group group1 = groupDAO.getGroupByName(entity1.GroupName);

Assert.IsNotNull(group1,

" Service method getGroupByName should return group if successfull");

Group group2 = groupDAO.getGroupByName(entity2.GroupName);

Assert.IsNotNull(group2,

" Service method getGroupByName should return group if successfull");

Group group3 = groupDAO.getGroupByName(entity3.GroupName);

Assert.IsNotNull(group3,

" Service method getGroupByName should return group if successfull");

checkAllPropertiesEqual(group1, entity1);

checkAllPropertiesEqual(group2, entity2);

checkAllPropertiesEqual(group3, entity3);

}

 

[TestMethod]

public void TestGetAllStudentOfGroup()

{

createEntitiesForStudent();

Assert.IsNotNull(student1, " Please, create object for student1");

Assert.IsNotNull(student2, " Please, create object for student2");

Assert.IsNotNull(student3, " Please, create object for student3");

 

entity1.StudentList.Add(student1);

student1.Group = entity1;

entity1.StudentList.Add(student2);

student2.Group = entity1;

entity1.StudentList.Add(student3);

student3.Group = entity1;

 

Group savedObject = null;

try

{

dao.SaveOrUpdate(entity1);

savedObject = getPersistentObject(entity1);

Assert.IsNotNull(savedObject,

" DAO method saveOrUpdate should return entity if successfull");

checkAllPropertiesEqual(savedObject, entity1);

entity1 = savedObject;

}

catch (Exception)

{

Assert.Fail(" Fail to save entity1");

}

 

IList< Student> studentList =

groupDAO.getAllStudentOfGroup(entity1.GroupName);

Assert.IsNotNull(studentList, " List can't be null");

Assert.IsTrue(studentList.Count == 3,

" Count of students in the list must be 3");

checkAllPropertiesEqualForStudent(studentList[0], student1);

checkAllPropertiesEqualForStudent(studentList[1], student2);

checkAllPropertiesEqualForStudent(studentList[2], student3);

}

 

[TestMethod]

public void TestDelGroupByName()

{

try

{

groupDAO.delGroupByName(entity2.GroupName);

}

catch (Exception)

{

Assert.Fail(" Deletion should be successful of entity2");

}

 

// Checking if other two entities can be still found

getEntityGeneric(entity1.Id, entity1);

getEntityGeneric(entity3.Id, entity3);

 

// Checking if entity2 can not be found

try

{

Group foundGroup = null;

foundGroup = dao.GetById(entity2.Id);

Assert.IsNull(foundGroup,

" After deletion entity should not be found with groupName " +

entity2.GroupName);

}

catch (Exception)

{

Assert.Fail(" Should return null if finding the deleted entity");

}

 

// Checking if other two entities can still be found in getAll list

List< Group> list = getListOfAllEntities();

Assert.IsTrue(list.Contains(entity1),

" After dao method GetAll list should contain entity1");

Assert.IsTrue(list.Contains(entity3),

" After dao method GetAll list should contain entity3");

}

 

protected void createEntitiesForStudent()

{

student1 = new Student();

student1.FirstName = " Ivanov";

student1.LastName = " Kiril";

student1.Sex = 'M';

student1.Year = 1995;

 

student2 = new Student();

student2.FirstName = " Petrenko";

student2.LastName = " Ivan";

student2.Sex = 'M';

student2.Year = 1997;

 

student3 = new Student();

student3.FirstName = " Karpov";

student3.LastName = " Danil";

student3.Sex = 'M';

student3.Year = 2000;

}

 

protected void checkAllPropertiesEqualForStudent(Student entityToCheck1,

Student entityToCheck2)

{

Assert.AreEqual(entityToCheck1.FirstName, entityToCheck2.FirstName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.LastName, entityToCheck2.LastName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.Sex, entityToCheck2.Sex,

" Values must be equal");

Assert.AreEqual(entityToCheck1.Year, entityToCheck2.Year,

" Values must be equal");

}

}

}

 

10. Текст тестового класса StudentDAO приведен ниже

 

using System;

using System.Collections.Generic;

using Microsoft.VisualStudio.TestTools.UnitTesting;

using lab6.domain;

using lab6.dao;

using NHibernate.Criterion;

using NHibernate;

 

namespace lab6

{

[TestClass]

public class TestStudentDAO: TestGenericDAO< Student>

{

protected IStudentDAO studentDAO = null;

protected IGroupDAO groupDAO = null;

protected Group group = null;

 

public TestStudentDAO(): base()

{

DAOFactory daoFactory = new NHibernateDAOFactory(session);

studentDAO = daoFactory.getStudentDAO();

groupDAO = daoFactory.getGroupDAO();

setDAO(studentDAO);

}

 

protected override void createEntities()

{

entity1 = new Student();

entity1.FirstName = " Ivanov";

entity1.LastName = " Kiril";

entity1.Sex = 'M';

entity1.Year = 1995;

 

entity2 = new Student();

entity2.FirstName = " Petrenko";

entity2.LastName = " Ivan";

entity2.Sex = 'M';

entity2.Year = 1997;

 

entity3 = new Student();

entity3.FirstName = " Karpov";

entity3.LastName = " Danil";

entity3.Sex = 'M';

entity3.Year = 2000;

}

 

protected override void checkAllPropertiesDiffer(Student entityToCheck1,

Student entityToCheck2)

{

Assert.AreNotEqual(entityToCheck1.FirstName, entityToCheck2.FirstName,

" Values must be different");

Assert.AreNotEqual(entityToCheck1.LastName, entityToCheck2.LastName,

" Values must be different");

Assert.AreNotEqual(entityToCheck1.Year, entityToCheck2.Year,

" Values must be different");

}

 

protected override void checkAllPropertiesEqual(Student entityToCheck1,

Student entityToCheck2)

{

Assert.AreEqual(entityToCheck1.FirstName, entityToCheck2.FirstName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.LastName, entityToCheck2.LastName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.Sex, entityToCheck2.Sex,

" Values must be equal");

Assert.AreEqual(entityToCheck1.Year, entityToCheck2.Year,

" Values must be equal");

}

 

[TestMethod]

public void TestGetByIdStudent()

{

base.TestGetByIdGeneric();

}

 

[TestMethod]

public void TestGetAllStudent()

{

base.TestGetAllGeneric();

}

 

[TestMethod]

public void TestDeleteStudent()

{

base.TestDeleteGeneric();

}

 

[TestMethod]

public void TestGetStudentByGroupFirstNameAndLastName()

{

group = new Group();

group.GroupName = " KS-091";

group.CuratorName = " Pronin P. P.";

group.HeadmanName = " Volosniy R. R.";

group.StudentList.Add(entity1);

entity1.Group = group;

group.StudentList.Add(entity2);

entity2.Group = group;

group.StudentList.Add(entity3);

entity3.Group = group;

Group savedGroup = null;

try

{

groupDAO.SaveOrUpdate(group);

savedGroup = getPersistentGroup(group);

Assert.IsNotNull(savedGroup,

" DAO method saveOrUpdate should return group if successfull");

checkAllPropertiesEqualGroup(savedGroup, group);

group = savedGroup;

}

catch (Exception)

{

Assert.Fail(" Fail to save group");

}

getStudentByGroupFirstNameAndLastName(entity1, group.GroupName,

entity1.FirstName, entity1.LastName);

getStudentByGroupFirstNameAndLastName(entity2, group.GroupName,

entity2.FirstName, entity2.LastName);

getStudentByGroupFirstNameAndLastName(entity3, group.GroupName,

entity3.FirstName, entity3.LastName);

group.StudentList.Remove(entity1);

group.StudentList.Remove(entity2);

group.StudentList.Remove(entity3);

entity1.Group = null;

entity2.Group = null;

entity3.Group = null;

groupDAO.Delete(group);

}

 

protected void getStudentByGroupFirstNameAndLastName(Student student,

string groupName, string firstName, string lastName)

{

Student foundStudent = null;

try

{

foundStudent = studentDAO.getStudentByGroupFirstNameAndLastName(

groupName, firstName, lastName);

Assert.IsNotNull(studentDAO,

" Service method should return student if successfull");

checkAllPropertiesEqual(foundStudent, student);

}

catch (Exception)

{

Assert.Fail(" Failed to get student with groupName " +

groupName + " firstName " + firstName+" and lastName " + lastName);

}

}

 

protected Group getPersistentGroup(Group nonPersistentGroup)

{

ICriteria criteria = session.CreateCriteria(typeof(Group))

.Add(Example.Create(nonPersistentGroup));

IList< Group> list = criteria.List< Group> ();

Assert.IsTrue(list.Count > = 1,

" Count of grups must be equal or more than 1");

return list[0];

}

 

protected void checkAllPropertiesEqualGroup(Group entityToCheck1,

Group entityToCheck2)

{

Assert.AreEqual(entityToCheck1.GroupName, entityToCheck2.GroupName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.CuratorName, entityToCheck2.CuratorName,

" Values must be equal");

Assert.AreEqual(entityToCheck1.HeadmanName, entityToCheck2.HeadmanName,

" Values must be equal");

}

}

}

 

11. Произведите тестирование классов слоя доступа к данным. Все тесты должны быть успешно пройдены.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.