Mercurial > sypikslang
view gamelib/tests/test_lab.py @ 20:718d1ec382f7
Deserialise lab data.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 06 May 2012 18:12:51 +0200 |
parents | 10d3db1f1e08 |
children | bdc6bfc34ef2 |
line wrap: on
line source
from unittest import TestCase from gamelib.lab import Lab from gamelib import research, products class TestLab(TestCase): def test_new_lab(self): all_sciences = set() for _ in range(10): lab = Lab() research_areas = [r for r in lab.science if isinstance(r, research.ResearchArea)] self.assertEqual(3, len(research_areas)) for science in research_areas: all_sciences.add(type(science)) self.assertTrue(len(all_sciences) > 3) def test_find_new_products(self): lab = Lab({ 'science': { 'research.Tesla': 3, } }) new_products = lab.find_new_products(None) self.assertTrue(products.TeslaTank in new_products) self.assertTrue(products.DoomsdayVirus not in new_products) def test_find_new_research(self): lab = Lab({ 'science': { 'research.Robotics': 1, 'research.Rocketry': 2, } }) new_research = lab.find_new_research() self.assertTrue(research.Space in new_research) self.assertTrue(research.ArtificialIntelligence not in new_research)