def test_parse_for_keyword_2(): ip = InputParser() query = r"camera%" search_dict = dict() new_query = ip.parse_for_keyword(query, search_dict) assert search_dict == {"keyword": [("%", "camera")]} assert new_query == r""
def test_parse_for_category_1(): ip = InputParser() query = r"cat=art-collectibles camera" search_dict = dict() new_query = ip.parse_for_category(query, search_dict) assert search_dict == {"category": [("=", "art-collectibles")]} assert new_query == r" camera"
def test_parse_for_keyword_3(): ip = InputParser() query = r"midichlorians cat=starwars darth%" search_dict = dict() new_query = ip.parse_for_keyword(query, search_dict) assert search_dict == {"keyword": [("=", "midichlorians"), ("%", "darth")]} assert new_query == r" cat=starwars "
def test_parse_for_location_1(): ip = InputParser() query = r"location=edmonton date=2018/11/07" search_dict = dict() new_query = ip.parse_for_location(query, search_dict) assert search_dict == {"location": [("=", "edmonton")]} assert new_query == r" date=2018/11/07"
def test_parse_for_date_2(): ip = InputParser() query = r"date >= 2018/11/05" search_dict = dict() new_query = ip.parse_for_date(query, search_dict) assert search_dict == {"date": [(">=", "2018/11/05")]} assert new_query == r""
def test_parse_for_location_2(): ip = InputParser() query = r"location=coruscant location=tatooine" search_dict = dict() new_query = ip.parse_for_location(query, search_dict) assert search_dict == {"location": [("=", "coruscant"), ("=", "tatooine")]} assert new_query == r" "
def test_parse_for_price_3(): ip = InputParser() query = r"price >=420 have you ever heard the tragedy of dark plagueis the wise" search_dict = {"price": [("<", "20")]} new_query = ip.parse_for_price(query, search_dict) assert search_dict == {"price": [("<", "20"), (">=", "420")]} assert new_query == r" have you ever heard the tragedy of dark plagueis the wise"
def test_parse_for_price_2(): ip = InputParser() query = r"price < 20 price=40" search_dict = dict() new_query = ip.parse_for_price(query, search_dict) assert search_dict == {"price": [("<", "20"), ("=", "40")]} assert new_query == r" "
def test_parse_for_date_3(): ip = InputParser() query = r"camera date=2025/01/01" search_dict = {"date": [(">=", "2018/11/05")]} new_query = ip.parse_for_date(query, search_dict) assert search_dict == {"date": [(">=", "2018/11/05"), ("=", "2025/01/01")]} assert new_query == r"camera "
def test_parse_for_keyword_1(): ip = InputParser() query = r"camera location=my-house" search_dict = dict() new_query = ip.parse_for_keyword(query, search_dict) assert search_dict == {"keyword": [("=", "camera")]} assert new_query == r" location=my-house"
def test_parse_for_location_3(): ip = InputParser() query = r"location=coruscant date=2019/11/11 location=tatooine" search_dict = {"location": [("=", "edmonton")]} new_query = ip.parse_for_location(query, search_dict) assert search_dict == { "location": [("=", "edmonton"), ("=", "coruscant"), ("=", "tatooine")] } assert new_query == r" date=2019/11/11 "
def test_parse_input_8(): ip = InputParser() query = "cat=art-collectibles camera" searches_actual = ip.parse_input(query) searches_expected = { "keyword": [("=", "camera")], "category": [("=", "art-collectibles")] } assert searches_actual == searches_expected
def test_parse_for_date_1(): ip = InputParser() query = r"camera date>=2018/11/05 date<=2018/11/07 price > 20 price < 40" search_dict = dict() new_query = ip.parse_for_date(query, search_dict) assert search_dict == { "date": [(">=", "2018/11/05"), ("<=", "2018/11/07")] } assert new_query == r"camera price > 20 price < 40"
def test_parse_input_7(): ip = InputParser() query = "location=edmonton date=2018/11/07" searches_actual = ip.parse_input(query) searches_expected = { "location": [("=", "edmonton")], "date": [("=", "2018/11/07")] } assert searches_actual == searches_expected
def test_parse_input_6(): ip = InputParser() query = "price >= 20 date > 2018/11/05" searches_actual = ip.parse_input(query) searches_expected = { "price": [(">=", "20")], "date": [(">", "2018/11/05")] } assert searches_actual == searches_expected
def test_parse_input_4(): ip = InputParser() query = "date > 2018/11/05 camera%" searches_actual = ip.parse_input(query) searches_expected = { "date": [(">", "2018/11/05")], "keyword": [("%", "camera")] } assert searches_actual == searches_expected
def test_parse_for_category_2(): ip = InputParser() query = r"cat=not-stories-jedi-would-tell-you camera cat=art-collectibles" search_dict = dict() new_query = ip.parse_for_category(query, search_dict) assert search_dict == { "category": [("=", "not-stories-jedi-would-tell-you"), ("=", "art-collectibles")] } assert new_query == r" camera "
def test_parse_for_location_4(): ip = InputParser() query = r"date=2019/11/11 location=tatooine" search_dict = {"price": [("=", "30")]} new_query = ip.parse_for_location(query, search_dict) assert search_dict == { "price": [("=", "30")], "location": [("=", "tatooine")] } assert new_query == r"date=2019/11/11 "
def test_parse_input_9(): ip = InputParser() query = "camera date>=2018/11/05 date<=2018/11/07 price > 20 price < 40" searches_actual = ip.parse_input(query) searches_expected = { "keyword": [("=", "camera")], "date": [(">=", "2018/11/05"), ("<=", "2018/11/07")], "price": [(">", "20"), ("<", "40")] } assert searches_actual == searches_expected
def test_parse_for_category_3(): ip = InputParser() query = r"cat=kenobi location=dagobah" search_dict = {"price": [(">", "500")], "category": [("=", "general")]} new_query = ip.parse_for_category(query, search_dict) assert search_dict == { "price": [(">", "500")], "category": [("=", "general"), ("=", "kenobi")] } assert new_query == r" location=dagobah"
def test_parse_for_keyword_4(): ip = InputParser() query = r"location=deathstar ihatesand%" search_dict = { "keyword": [("=", "prequelsarethebest")], "date": [(">=", "2018/05/03")] } new_query = ip.parse_for_keyword(query, search_dict) assert search_dict == { "keyword": [("=", "prequelsarethebest"), ("%", "ihatesand")], "date": [(">=", "2018/05/03")] } assert new_query == r"location=deathstar "
def phase3(file=None): with AdsDatabase() as ads_database: input_parser = InputParser() for line in fileinput.input(file): line = line.lower().strip() # print(line) if input_parser.validate_query(line): # print(input_parser.parse_input(line)) ads_database.execute(input_parser.parse_input(line)) elif line.startswith("output"): ads_database.change_mode(line) else: print("Invalid query") pass pass pass pass
def test_validate_input_14(): ip = InputParser() query = r"date >= 2018/11/05 cat=yolo" val = ip.validate_query(query) assert val == True
def test_validate_input_12(): ip = InputParser() query = r" camera date>=2018 /11/05 " val = ip.validate_query(query) assert val == False
def test_validate_input_13(): ip = InputParser() query = r"3413" val = ip.validate_query(query) assert val == True
def test_validate_input_11(): ip = InputParser() query = r"hello []" val = ip.validate_query(query) assert val == False
def test_validate_input_10(): ip = InputParser() query = " " val = ip.validate_query(query) assert val == False
def test_validate_input_9(): ip = InputParser() query = "camera date>=2018/11/05 date<=2018/11/07 price > 20 price < 40" val = ip.validate_query(query) assert val == True
def test_validate_input_1(): ip = InputParser() query = "camera" val = ip.validate_query(query) assert val == True
def test_validate_input_8(): ip = InputParser() query = "cat=art-collectibles camera" val = ip.validate_query(query) assert val == True