Skip to content

Commit b46d661

Browse files
Red-Green
Signed-off-by: PotapovAlexandr <alexpotapov1985@gmail.com>
1 parent 42e3368 commit b46d661

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

tdd_intro/homework/07_sqlite_header_parser/Interfaces.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,5 @@ class IDbReader
6363
// 72 20 Reserved for expansion. Must be zero.
6464
virtual int GetVersionValidNumber() = 0;
6565
virtual int GetSqliteVersionNumber() = 0;
66+
virtual bool IsEmpty() = 0;
6667
};

tdd_intro/homework/07_sqlite_header_parser/Mocks.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ class GuiMock: public IGui
88
{
99
public:
1010
~GuiMock(){}
11-
MOCK_METHOD0(DisplayHeader, void());
11+
MOCK_METHOD1(DisplayHeader, void(const SqliteHeader& header));
1212
};
1313

14-
class DbReaderMock:public IDbReader
14+
class DbReaderMock: public IDbReader
1515
{
1616
public:
1717
~DbReaderMock(){}
@@ -40,4 +40,5 @@ class DbReaderMock:public IDbReader
4040
// 72 20 Reserved for expansion. Must be zero.
4141
MOCK_METHOD0(GetVersionValidNumber, int());
4242
MOCK_METHOD0(GetSqliteVersionNumber, int());
43+
MOCK_METHOD0(IsEmpty, bool());
4344
};

tdd_intro/homework/07_sqlite_header_parser/test.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ Offset Size Description
4242
#include <gmock/gmock.h>
4343

4444
#include "Mocks.h"
45-
45+
using namespace testing;
4646

4747

4848

4949
void DysplayHeaderStructure(IGui* gui, IDbReader* dbReader)
5050
{
51-
if (gui == nullptr)
51+
if (gui == nullptr || dbReader->IsEmpty())
5252
{
5353
throw std::exception();
5454
}
@@ -59,3 +59,11 @@ TEST(SqliteHeaderReader, NoGui)
5959
DbReaderMock dbReader;
6060
ASSERT_THROW(DysplayHeaderStructure(nullptr, &dbReader), std::exception);
6161
}
62+
63+
TEST(SqliteHeaderReader, EmptyReader)
64+
{
65+
DbReaderMock dbReader;
66+
GuiMock gui;
67+
EXPECT_CALL(dbReader, IsEmpty()).WillOnce(Return(true));
68+
ASSERT_THROW(DysplayHeaderStructure(&gui, &dbReader), std::exception);
69+
}

0 commit comments

Comments
 (0)