def should_understand_multiple_conditionals(self): parser = ConditionParser({'power': '<5,>0'}) cond = parser.get_conditions() assert cond[0].name == 'power' self.assertEqual(cond[0].keywords, [SearchKeyword(5, 'and', '<'), SearchKeyword(0, 'and', '>')])
def should_understand_equality_conditional(self): parser = ConditionParser({'tough': '=3'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword(3, 'and', '=')])
def setUp(self): parser = ConditionParser({'text': 'trample'}) self.conditions = parser.get_conditions()
def should_assume_equality_conditional(self): parser = ConditionParser({'cmc': '5'}) cond = parser.get_conditions() assert cond[0].name == 'cmc' self.assertEqual(cond[0].keywords, [SearchKeyword(5, 'and', '=')])
def should_correctly_combine_not_and_and(self): parser = ConditionParser({'color': '!b,r'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword('B', 'not'), SearchKeyword('R', 'and')])
def should_accept_complete_words(self): parser = ConditionParser({'rarity': 'special'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword('S', 'and')])
def setUp(self): parser = ConditionParser({'text': 'first strike'}) self.keywords = parser.get_conditions()['text'].keywords
def should_assume_and_when_comma_separated(self): parser = ConditionParser({'color': 'w,u,g'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword('W', 'and'), SearchKeyword('U', 'and'), SearchKeyword('G', 'and')])
def should_upcase_keyword(self): parser = ConditionParser({'rarity': 's'}) cond = parser.get_conditions() self.assertEqual(cond['rarity'].keywords, [SearchKeyword('S', 'and')])
def should_accept_complete_words(self): parser = ConditionParser({'rarity': 'special'}) cond = parser.get_conditions() self.assertEqual(cond['rarity'].keywords, [SearchKeyword('S', 'and')])
def should_convert_wedge_to_colors(self): parser = ConditionParser({'color': 'sultai'}) cond = parser.get_conditions() self.assertEqual(cond['color'].keywords, [SearchKeyword('B', 'and'), SearchKeyword('G', 'and'), SearchKeyword('U', 'and')])
def should_convert_shard_to_colors(self): parser = ConditionParser({'color': 'grixis'}) cond = parser.get_conditions() self.assertEqual(cond['color'].keywords, [SearchKeyword('B', 'and'), SearchKeyword('R', 'and'), SearchKeyword('U', 'and')])
def should_correctly_combine_not_and_and(self): parser = ConditionParser({'color': '!b,r'}) cond = parser.get_conditions() self.assertEqual(cond['color'].keywords, [SearchKeyword('B', 'not'), SearchKeyword('R', 'and')])
def should_assume_and_when_adjacent(self): parser = ConditionParser({'color': 'wbg'}) cond = parser.get_conditions() self.assertEqual(cond['color'].keywords, [SearchKeyword('W', 'and'), SearchKeyword('B', 'and'), SearchKeyword('G', 'and')])
def setUp(self): parser = ConditionParser({'text': 'exile,graveyard'}) self.conditions = parser.get_conditions()
def should_assume_and_when_adjacent(self): parser = ConditionParser({'color': 'wbg'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword('W', 'and'), SearchKeyword('B', 'and'), SearchKeyword('G', 'and')])
def should_assume_equality_conditional(self): parser = ConditionParser({'cmc': '5'}) cond = parser.get_conditions() assert cond['cmc'].name == 'cmc' self.assertEqual(cond['cmc'].keywords, [SearchKeyword(5, 'and', '=')])
def should_upcase_keyword(self): parser = ConditionParser({'rarity': 's'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword('S', 'and')])
def should_understand_less_than_conditional(self): parser = ConditionParser({'power': '<5'}) cond = parser.get_conditions() assert cond['power'].name == 'power' self.assertEqual(cond['power'].keywords, [SearchKeyword(5, 'and', '<')])
def setUp(self): parser = ConditionParser({'text': 'first strike'}) self.keywords = parser.get_conditions()[0].keywords
def should_understand_multiple_conditionals(self): parser = ConditionParser({'power': '<5,>0'}) cond = parser.get_conditions() assert cond['power'].name == 'power' self.assertEqual(cond['power'].keywords, [SearchKeyword(5, 'and', '<'), SearchKeyword(0, 'and', '>')])
def should_understand_greater_than_conditional(self): parser = ConditionParser({'tough': '>3'}) cond = parser.get_conditions() self.assertEqual(cond['tough'].keywords, [SearchKeyword(3, 'and', '>')])
def should_understand_less_than_conditional(self): parser = ConditionParser({'power': '<5'}) cond = parser.get_conditions() assert cond[0].name == 'power' self.assertEqual(cond[0].keywords, [SearchKeyword(5, 'and', '<')])
def should_understand_equality_conditional(self): parser = ConditionParser({'tough': '=3'}) cond = parser.get_conditions() self.assertEqual(cond['tough'].keywords, [SearchKeyword(3, 'and', '=')])
def should_understand_greater_than_conditional(self): parser = ConditionParser({'tough': '>3'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword(3, 'and', '>')])
def should_understand_less_than_or_equal_to(self): parser = ConditionParser({'tough': '<=3'}) cond = parser.get_conditions() self.assertEqual(cond['tough'].keywords, [SearchKeyword(3, 'and', '<=')])
def should_understand_less_than_or_equal_to(self): parser = ConditionParser({'tough': '<=3'}) cond = parser.get_conditions() self.assertEqual(cond[0].keywords, [SearchKeyword(3, 'and', '<=')])
def should_assume_and_when_comma_separated(self): parser = ConditionParser({'color': 'w,u,g'}) cond = parser.get_conditions() self.assertEqual(cond['color'].keywords, [SearchKeyword('W', 'and'), SearchKeyword('U', 'and'), SearchKeyword('G', 'and')])