2015-09-03 13:27:42 -04:00
|
|
|
import unittest
|
|
|
|
|
|
|
|
|
|
from rectangles import count
|
|
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
|
2015-09-03 13:27:42 -04:00
|
|
|
class WordTest(unittest.TestCase):
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_zero_area_1(self):
|
2017-02-11 22:03:47 +01:00
|
|
|
self.assertEqual(0, count())
|
2015-11-08 01:31:17 +01:00
|
|
|
|
|
|
|
|
def test_zero_area_2(self):
|
|
|
|
|
lines = ""
|
2017-02-11 22:03:47 +01:00
|
|
|
self.assertEqual(0, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_empty_area(self):
|
|
|
|
|
lines = " "
|
2017-02-11 22:03:47 +01:00
|
|
|
self.assertEqual(0, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_one_rectangle(self):
|
|
|
|
|
lines = ["+-+",
|
|
|
|
|
"| |",
|
2017-02-11 22:03:47 +01:00
|
|
|
"+-+"]
|
|
|
|
|
self.assertEqual(1, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_two_rectangles_no_shared_parts(self):
|
|
|
|
|
lines = [" +-+",
|
|
|
|
|
" | |",
|
|
|
|
|
"+-+-+",
|
|
|
|
|
"| | ",
|
2017-02-11 22:03:47 +01:00
|
|
|
"+-+ "]
|
|
|
|
|
self.assertEqual(2, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_five_rectangles_three_regions(self):
|
|
|
|
|
lines = [" +-+",
|
|
|
|
|
" | |",
|
|
|
|
|
"+-+-+",
|
|
|
|
|
"| | |",
|
2017-02-11 22:03:47 +01:00
|
|
|
"+-+-+"]
|
|
|
|
|
self.assertEqual(5, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_incomplete_rectangles(self):
|
|
|
|
|
lines = [" +-+",
|
|
|
|
|
" |",
|
|
|
|
|
"+-+-+",
|
|
|
|
|
"| | -",
|
2017-02-11 22:03:47 +01:00
|
|
|
"+-+-+"]
|
|
|
|
|
self.assertEqual(1, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_complicated(self):
|
|
|
|
|
lines = ["+------+----+",
|
|
|
|
|
"| | |",
|
|
|
|
|
"+---+--+ |",
|
|
|
|
|
"| | |",
|
2017-02-11 22:03:47 +01:00
|
|
|
"+---+-------+"]
|
|
|
|
|
self.assertEqual(3, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2015-11-08 01:31:17 +01:00
|
|
|
def test_not_so_complicated(self):
|
|
|
|
|
lines = ["+------+----+",
|
|
|
|
|
"| | |",
|
|
|
|
|
"+------+ |",
|
|
|
|
|
"| | |",
|
2017-02-11 22:03:47 +01:00
|
|
|
"+---+-------+"]
|
|
|
|
|
self.assertEqual(2, count(lines))
|
2015-09-03 13:27:42 -04:00
|
|
|
|
2016-11-29 09:44:47 +01:00
|
|
|
|
2015-09-03 13:27:42 -04:00
|
|
|
if __name__ == '__main__':
|
2015-11-08 01:31:17 +01:00
|
|
|
unittest.main()
|