Beispiel #1
0
 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', '>')])
Beispiel #2
0
 def should_understand_equality_conditional(self):
     parser = ConditionParser({'tough': '=3'})
     cond = parser.get_conditions()
     self.assertEqual(cond[0].keywords, [SearchKeyword(3, 'and', '=')])
Beispiel #3
0
 def setUp(self):
     parser = ConditionParser({'text': 'trample'})
     self.conditions = parser.get_conditions()
Beispiel #4
0
 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', '=')])
Beispiel #5
0
 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')])
Beispiel #6
0
 def should_accept_complete_words(self):
     parser = ConditionParser({'rarity': 'special'})
     cond = parser.get_conditions()
     self.assertEqual(cond[0].keywords, [SearchKeyword('S', 'and')])
Beispiel #7
0
 def setUp(self):
     parser = ConditionParser({'text': 'first strike'})
     self.keywords = parser.get_conditions()['text'].keywords
Beispiel #8
0
 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')])
Beispiel #9
0
 def should_upcase_keyword(self):
     parser = ConditionParser({'rarity': 's'})
     cond = parser.get_conditions()
     self.assertEqual(cond['rarity'].keywords, [SearchKeyword('S', 'and')])
Beispiel #10
0
 def should_accept_complete_words(self):
     parser = ConditionParser({'rarity': 'special'})
     cond = parser.get_conditions()
     self.assertEqual(cond['rarity'].keywords, [SearchKeyword('S', 'and')])
Beispiel #11
0
 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')])
Beispiel #12
0
 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')])
Beispiel #13
0
 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')])
Beispiel #14
0
 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')])
Beispiel #15
0
 def setUp(self):
     parser = ConditionParser({'text': 'trample'})
     self.conditions = parser.get_conditions()
Beispiel #16
0
 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')])
Beispiel #17
0
 def setUp(self):
     parser = ConditionParser({'text': 'exile,graveyard'})
     self.conditions = parser.get_conditions()
Beispiel #18
0
 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')])
Beispiel #19
0
 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', '=')])
Beispiel #20
0
 def should_upcase_keyword(self):
     parser = ConditionParser({'rarity': 's'})
     cond = parser.get_conditions()
     self.assertEqual(cond[0].keywords, [SearchKeyword('S', 'and')])
Beispiel #21
0
 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', '<')])
Beispiel #22
0
 def setUp(self):
     parser = ConditionParser({'text': 'first strike'})
     self.keywords = parser.get_conditions()[0].keywords
Beispiel #23
0
 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', '>')])
Beispiel #24
0
 def setUp(self):
     parser = ConditionParser({'text': 'exile,graveyard'})
     self.conditions = parser.get_conditions()
Beispiel #25
0
 def should_understand_greater_than_conditional(self):
     parser = ConditionParser({'tough': '>3'})
     cond = parser.get_conditions()
     self.assertEqual(cond['tough'].keywords, [SearchKeyword(3, 'and', '>')])
Beispiel #26
0
 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', '<')])
Beispiel #27
0
 def should_understand_equality_conditional(self):
     parser = ConditionParser({'tough': '=3'})
     cond = parser.get_conditions()
     self.assertEqual(cond['tough'].keywords, [SearchKeyword(3, 'and', '=')])
Beispiel #28
0
 def should_understand_greater_than_conditional(self):
     parser = ConditionParser({'tough': '>3'})
     cond = parser.get_conditions()
     self.assertEqual(cond[0].keywords, [SearchKeyword(3, 'and', '>')])
Beispiel #29
0
 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', '<=')])
Beispiel #30
0
 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', '<=')])
Beispiel #31
0
 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')])