private void CheckResultThrowingExceptionReadBooksComplete() { FillIncorrectListOfBooks(); _plugin = new DataSourceAccess(_db); string message = "Невозможно загрузить книги из базы данных - прерывание по исключению:" + "\n" + "Ссылка на объект не указывает на экземпляр объекта."; EventArgsString mess = null; _plugin.OnError += delegate(object sender, EventArgsString e) { mess = e; }; _plugin.ReadBooks(); Assert.IsNotNull(mess, "Событие не вызвано"); Assert.AreEqual(message, mess.Message, $"Ожидается сообщение: \"{message}\";" + "\n" + $"Вызвано сообщение: \"{mess.Message}\""); }
private void CheckResultReadBooks() { _listOfBooks.Clear(); _listOfBooks = _plugin.ReadBooks(); using (OleDbConnection dbConnection = new OleDbConnection(_connectString)) { dbConnection.Open(); string selectQuery = $"SELECT TOP {_listOfBooks.Count} * FROM Books ORDER BY ID DESC"; OleDbCommand selectCommand = new OleDbCommand(selectQuery, dbConnection); OleDbDataReader reader = selectCommand.ExecuteReader(); int i = _listOfBooks.Count - 1; while (reader.Read()) { Assert.IsTrue(reader["Author"].ToString() == _listOfBooks[i][0], ($"Ошибка чтения: Поле 'Автор' {i +1}-й книги прочитано некорректно")); Assert.IsTrue(reader["Title"].ToString() == _listOfBooks[i][1], ($"Ошибка чтения: Поле 'Название' {i + 1}-й книги прочитано некорректно")); Assert.IsTrue(reader["ISDN"].ToString() == _listOfBooks[i][2], ($"Ошибка чтения: Поле 'ISDN' {i + 1}-й книги прочитано некорректно")); Assert.IsTrue(reader["Price"].ToString() == _listOfBooks[i][3], ($"Ошибка чтения: Поле 'Цена' {i + 1}-й книги прочитано некорректно")); i--; } } }
private void CheckResultReadBooksFake() { _listOfBooks.Clear(); FillListOfBooks(); var mock = new Mock <IDataBase>(); mock.Setup(x => x.Retrieve("SELECT * FROM Books")) .Returns(ReturnListOfStrings()); _plugin = new DataSourceAccess(mock.Object); var expected = _listOfBooks; var actual = _plugin.ReadBooks(); Assert.IsTrue(actual != null, "Ошибка чтения: Метод возвращает 'null'"); Assert.AreEqual(expected.Count, actual.Count, "Ошибка чтения: Возвращено неправильное число книг"); for (int i = 0; i < expected.Count; i++) { Assert.IsTrue(expected[i][0] == actual[i][0], ($"Ошибка чтения: Поле 'Автор' {i + 1}-й книги прочитано некорректно")); Assert.IsTrue(expected[i][1] == actual[i][1], ($"Ошибка чтения: Поле 'Название' {i + 1}-й книги прочитано некорректно")); Assert.IsTrue(expected[i][2] == actual[i][2], ($"Ошибка чтения: Поле 'ISDN' {i + 1}-й книги прочитано некорректно")); Assert.IsTrue(expected[i][3] == actual[i][3], ($"Ошибка чтения: Поле 'Цена' {i + 1}-й книги прочитано некорректно")); } }