Skip to content
Open
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4f63261
03 - Bank OCR - Prepared test list
Dec 19, 2018
9783581
03 - Bank OCR - First red test
Dec 19, 2018
440fd14
03 - Bank OCR - Added fake for 1st test
Dec 19, 2018
9ac8076
03 - Bank OCR - Added red test for digit 1
Dec 19, 2018
5a4970f
03 - Bank OCR - Fixed test for digit 1
Dec 19, 2018
eccfe88
03 - Bank OCR - Added red test for digit 2
Dec 19, 2018
4e72a34
03 - Bank OCR - Fixed test for digit 2
Dec 19, 2018
6a78a45
03 - Bank OCR - Added red test for digit 3
Dec 19, 2018
a8a15c0
03 - Bank OCR - Fixed test for digit 3
Dec 19, 2018
941579f
03 - Bank OCR - Fixed test for digit 4
Dec 19, 2018
9959282
03 - Bank OCR - Fixed test for digit 4
Dec 19, 2018
d2c6e2f
03 - Bank OCR - Added red test for digit 5
Dec 19, 2018
551ca9c
03 - Bank OCR - Fixed test for digit 5 but broke for 0
Dec 19, 2018
3fc999a
03 - Bank OCR - Fixed test for digit 0
Dec 19, 2018
96886e8
03 - Bank OCR - Fixed test for digit 6
Dec 19, 2018
f4f71f0
03 - Bank OCR - Added red test for digit 7
Dec 19, 2018
367ccd1
03 - Bank OCR - Fixed test for digit 7
Dec 19, 2018
fa63886
03 - Bank OCR - Added red test for digit 8
Dec 19, 2018
4639745
03 - Bank OCR - Fixed test for digit 8
Dec 19, 2018
9bfd473
03 - Bank OCR - Added red test for digit 9
Dec 19, 2018
983db33
03 - Bank OCR - Refactoring
Dec 19, 2018
279431e
03 - Bank OCR - Added test for incorrect symbols
Dec 19, 2018
a04f870
03 - Bank OCR - Added red test fot all 0 number
Dec 19, 2018
5fdfea3
03 - Bank OCR - Fixed test fot all 0 number
Dec 19, 2018
1e1dc11
03 - Bank OCR - Added all 0-9 green tests and 123456789 red test
Dec 19, 2018
81e03d8
03 - Bank OCR - Fixed 123456789 test
Dec 19, 2018
f4b636f
03 - Bank OCR - Added acceptance test
Dec 19, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 44 additions & 33 deletions tdd_intro/homework/03_bank_ocr/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,42 +210,53 @@ const Display s_display123456789 = { " _ _ _ _ _ _ _ ",

int ConvertDigit(const Digit &digit)
{
if (digit.lines[0] == " ")
std::string high = digit.lines[0];
std::string mid = digit.lines[1];
std::string low = digit.lines[2];

int mask = high.at(1) == '_' ? 1 : 0;
mask += mid.at(0) == '|' ? 2 : 0;
mask += mid.at(1) == '_' ? 4 : 0;
mask += mid.at(2) == '|' ? 8 : 0;
mask += low.at(0) == '|' ? 16 : 0;

// 1 - 01000 - 8
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

откуда появилось такое кодирование?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ну, саме число це по суті матриця 3х3
при чому один елемент може бути або порожнім або ні
і от на основі наявності в певних клітинках потрібних значень можна зрозуміти що там за число прийшло
а самі значення я підібрав виходячи з різниці між самими числами

// 2 - 11101 - 29
// 3 - 01101 - 13
// 4 - 01110 - 14
// 5 - 00111 - 7
// 6 - 10111 - 23
// 7 - 01001 - 9
// 8 - 11111 - 31
// 9 - 01111 - 15
// 0 - 11011 - 27

switch(mask)
{
if (digit.lines[1] == "|_|")
{
return 4;
}
case 8:
return 1;
case 29:
return 2;
case 13:
return 3;
case 14:
return 4;
case 7:
return 5;
case 23:
return 6;
case 9:
return 7;
case 31:
return 8;
case 15:
return 9;
case 27:
return 0;

default:
return mask;
}
else
{
if (digit.lines[1] == " _|")
{
if (digit.lines[2] == " _|")
{
return 3;
}
return 2;
}
else if (digit.lines[1] == "|_ ")
{
if (digit.lines[2] == "|_|")
{
return 6;
}
return 5;
}
else if (digit.lines[1] == "| |")
{
return 0;
}
else if (digit.lines[1] == "|_|")
{
return 8;
}
}
return 7;
}

TEST(BankOCR, CheckDigitZero)
Expand Down