def setUp(self): LandmarkParser.bootstrap(TestConfig()) self.lp = LandmarkParser(TestConfig())
class LandmarkParserTests(unittest.TestCase): lp = None def setUp(self): LandmarkParser.bootstrap(TestConfig()) self.lp = LandmarkParser(TestConfig()) def tearDown(self): SQLite3Mock.reset() registry.flush() self.lp = None def test_parse_longer_than_75_chars(self): test_string = 'asdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfg' + \ 'asdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfg' result = self.lp.parse(test_string) count = 1 for _ in result: count += 2 self.assertEqual(1, count) def test_parse_with_invalid_words(self): result = self.lp.parse('abc123 def456') count = 1 for _ in result: count += 2 self.assertEqual(1, count) def test_parse_with_invalid_characters(self): result = self.lp.parse('The E|n|d') count = 1 for _ in result: count += 2 self.assertEqual(1, count) @mock.patch('sqlite3.connect', SQLite3Mock.connect) def test_parse_with_sqlite3_error(self): SQLite3Mock.fetchall_returns = [sqlite3.Error('Error')] result = self.lp.parse('The End Of Time') count = 0 for _ in result: count += 1 self.assertEqual(0, count) self.assertEqual( SQLite3Mock.execute_calls, [ ('PRAGMA temp_store = 2', None), ( 'SELECT * FROM landmark WHERE resource like ?', ('End Of Time%',) ) ] ) @mock.patch('sqlite3.connect', SQLite3Mock.connect) def test_parse(self): SQLite3Mock.fetchall_returns = [ [('us', 'united states')], [ ('a', 'b', 'c', 'd', 'e', 'f'), ] ] results = self.lp.parse('The End Of Time') count = 0 for result in results: self.assertEqual(result.result_value, [ { "city": "c", "resource": "a", "country": { "abbreviation": "US", "name": "United States" }, "county": "d", "state": "e", "address": "b" } ]) self.assertEqual(result.confidence, 95) count += 1 self.assertEqual( SQLite3Mock.execute_calls, [ ('PRAGMA temp_store = 2', None), ( 'SELECT * FROM landmark WHERE resource like ?', ('End Of Time%',) ), ('SELECT * FROM country WHERE abbreviation = ?', ('f',)) ] ) self.assertEqual(1, count)
class LandmarkParserTests(unittest.TestCase): lp = None def setUp(self): LandmarkParser.bootstrap(TestConfig()) self.lp = LandmarkParser(TestConfig()) def tearDown(self): SQLite3Mock.reset() registry.flush() self.lp = None def test_parse_longer_than_75_chars(self): test_string = 'asdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfg' + \ 'asdfgasdfgasdfgasdfgasdfgasdfgasdfgasdfg' result = self.lp.parse(test_string) count = 1 for _ in result: count += 2 self.assertEqual(1, count) def test_parse_with_invalid_words(self): result = self.lp.parse('abc123 def456') count = 1 for _ in result: count += 2 self.assertEqual(1, count) def test_parse_with_invalid_characters(self): result = self.lp.parse('The E|n|d') count = 1 for _ in result: count += 2 self.assertEqual(1, count) @mock.patch('sqlite3.connect', SQLite3Mock.connect) def test_parse_with_sqlite3_error(self): SQLite3Mock.fetchall_returns = [sqlite3.Error('Error')] result = self.lp.parse('The End Of Time') count = 0 for _ in result: count += 1 self.assertEqual(0, count) self.assertEqual(SQLite3Mock.execute_calls, [('PRAGMA temp_store = 2', None), ('SELECT * FROM landmark WHERE resource like ?', ('End Of Time%', ))]) @mock.patch('sqlite3.connect', SQLite3Mock.connect) def test_parse(self): SQLite3Mock.fetchall_returns = [[('us', 'united states')], [ ('a', 'b', 'c', 'd', 'e', 'f'), ]] results = self.lp.parse('The End Of Time') count = 0 for result in results: self.assertEqual(result.result_value, [{ "city": "c", "resource": "a", "country": { "abbreviation": "US", "name": "United States" }, "county": "d", "state": "e", "address": "b" }]) self.assertEqual(result.confidence, 95) count += 1 self.assertEqual(SQLite3Mock.execute_calls, [('PRAGMA temp_store = 2', None), ('SELECT * FROM landmark WHERE resource like ?', ('End Of Time%', )), ('SELECT * FROM country WHERE abbreviation = ?', ('f', ))]) self.assertEqual(1, count)