def testParseLevel01(self): m = Cml.Level() m.parse("data/levels/01-Water.cml") expected = ['H+(g)', 'O(g)', 'O(g)', 'H+(g)', 'P(g)', 'F(g)', 'Al(s)'] self.assertEqual(m.molecules, expected) self.assertEqual(m.victory_condition, ["H2O"]) self.assertEqual(m.objective, "Create a water molecule") self.assertEqual(m.hint, "H + H + O => H2O")
def testParseLevel(self): m = Cml.Level() m.parse("tests/testlevel.cml") expected = ['H+(g)', 'O(g)', 'O(g)', 'H+(g)', 'P(g)', 'F(g)', 'Al(s)'] self.assertEqual(m.molecules, expected) self.assertEqual(m.victory_condition, ["H2O"]) self.assertEqual(m.objective, "Create a water molecule") self.assertEqual(m.hint, "H + H + O => H2O") self.assertEqual(m.effects[0].title, "Fire") self.assertEqual(m.effects[0].value, 800) self.assertEqual(m.effects[0].x2, 12) self.assertEqual(m.effects[0].y2, 10)
def testParseLevelWithMiningEffect(self): m = Cml.Level() m.parse("data/levels/12-Iron-1.cml") self.assertEqual(m.effects[0].title, "Mining") self.assertEqual(m.effects[0].molecules, ['Fe2O3(s)', 'Fe3O4(s)'])
def get_current_level(self): path = self.levels[self.current_level] cml = Cml.Level() cml.parse(path) return Level(cml, self.window)