コード例 #1
0
        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}\"");
        }
コード例 #2
0
        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--;
                }
            }
        }
コード例 #3
0
        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}-й книги прочитано некорректно"));
            }
        }