104 lines
3.0 KiB
Python
104 lines
3.0 KiB
Python
# This workaround makes sure that we can import from the parent dir
|
|
import sys
|
|
sys.path.append('..')
|
|
|
|
from scrython.symbology import ParseMana, Symbology
|
|
import unittest
|
|
import time
|
|
|
|
parse = ParseMana('URX')
|
|
|
|
symbology = Symbology()
|
|
|
|
class TestParseMana(unittest.TestCase):
|
|
|
|
def test_object(self):
|
|
self.assertIsInstance(parse.object(), str)
|
|
self.assertEqual(parse.object(), 'mana_cost')
|
|
|
|
def test_mana_cost(self):
|
|
self.assertIsInstance(parse.mana_cost(), str)
|
|
self.assertEqual(parse.mana_cost(), '{X}{U}{R}')
|
|
|
|
def test_cmc(self):
|
|
self.assertIsInstance(parse.cmc(), float)
|
|
self.assertEqual(parse.cmc(), 2.0)
|
|
|
|
def test_colors(self):
|
|
self.assertIsInstance(parse.colors(), list)
|
|
self.assertEqual(parse.colors(), ['U', 'R'])
|
|
|
|
def test_colorless(self):
|
|
self.assertIsInstance(parse.colorless(), bool)
|
|
self.assertEqual(parse.colorless(), False)
|
|
|
|
def test_monocolored(self):
|
|
self.assertIsInstance(parse.monocolored(), bool)
|
|
self.assertEqual(parse.monocolored(), False)
|
|
|
|
def test_multicolored(self):
|
|
self.assertIsInstance(parse.multicolored(), bool)
|
|
self.assertEqual(parse.multicolored(), True)
|
|
|
|
class TestSymbology(unittest.TestCase):
|
|
|
|
def test_object(self):
|
|
self.assertIsInstance(symbology.object(), str)
|
|
|
|
def test_has_more(self):
|
|
self.assertIsInstance(symbology.has_more(), bool)
|
|
|
|
def test_data(self):
|
|
self.assertIsInstance(symbology.data(), list)
|
|
|
|
def test_data_length(self):
|
|
self.assertIsInstance(symbology.data_length(), int)
|
|
|
|
def test_symbol_symbol(self):
|
|
self.assertIsInstance(symbology.symbol_symbol(0), str)
|
|
|
|
def test_symbol_loose_variant(self):
|
|
self.assertIsInstance(symbology.symbol_loose_variant(5), str)
|
|
|
|
def test_symbol_transposable(self):
|
|
self.assertIsInstance(symbology.symbol_transposable(0), bool)
|
|
|
|
def test_symbol_represents_mana(self):
|
|
self.assertIsInstance(symbology.symbol_represents_mana(0), bool)
|
|
|
|
def test_symbol_cmc(self):
|
|
self.assertIsInstance(symbology.symbol_cmc(0), float)
|
|
|
|
def test_symbol_appears_in_mana_costs(self):
|
|
self.assertIsInstance(symbology.symbol_appears_in_mana_costs(0), bool)
|
|
|
|
def test_symbol_funny(self):
|
|
self.assertIsInstance(symbology.symbol_funny(0), bool)
|
|
|
|
def test_symbol_colors(self):
|
|
self.assertIsInstance(symbology.symbol_colors(0), list)
|
|
|
|
def test_symbol_english(self):
|
|
self.assertIsInstance(symbology.symbol_english(0), str)
|
|
|
|
def test_symbol_gatherer_alternates(self):
|
|
self.assertIsInstance(symbology.symbol_gatherer_alternates(0), list)
|
|
|
|
if __name__ == '__main__':
|
|
|
|
test_classes_to_run = [
|
|
TestParseMana,
|
|
TestSymbology
|
|
]
|
|
|
|
loader = unittest.TestLoader()
|
|
|
|
suites_list = []
|
|
for test_class in test_classes_to_run:
|
|
suite = loader.loadTestsFromTestCase(test_class)
|
|
suites_list.append(suite)
|
|
|
|
big_suite = unittest.TestSuite(suites_list)
|
|
|
|
runner = unittest.TextTestRunner()
|
|
results = runner.run(big_suite) |