class Tests(unittest.TestCase): def setUp(self): self.model_p = Model(traffic=3.4, lines=10, blocking_rate=False) self.model_n = Model(traffic=3.4, lines=False, blocking_rate=0.0019) self.model_a = Model(traffic=False, lines=10, blocking_rate=0.0019) self.engset_p = Model(traffic=3.4, lines=10, blocking_rate=False, sources=500) self.engset_n = Model(traffic=3.4, lines=False, blocking_rate=0.0018, sources=500) self.engset_a = Model(traffic=False, lines=10, blocking_rate=0.0018, sources=500) def test_erlang_p(self): self.assertEqual(self.model_p.calculate_erlang(), 0.0019) def test_erlang_n(self): self.assertEqual(self.model_n.calculate_erlang(), 10) def test_erlang_a(self): self.assertEqual(self.model_a.calculate_erlang(), 3.5) def test_engset_p(self): self.assertAlmostEqual(self.engset_p.calculate_engset(), 0.0018) def test_engset_n(self): self.assertEqual(self.engset_n.calculate_engset(), 10) def test_engset_a(self): self.assertAlmostEqual(self.engset_a.calculate_engset(), 3.4)
def calculate(self, alg): """ :param alg: name of algorithm to use """ if alg == 'erlang': try: traffic = self.checkEnabled(self.ids.traffic_input) lines = self.checkEnabled(self.ids.lines_input) block = self.checkEnabled(self.ids.block_rate_input) model = Model(traffic, lines, block) self.ids.result.text = str(model.calculate_erlang()) except ValueError: self.popup.open() if alg == 'engset': try: traffic = self.checkEnabled(self.ids.engset_traffic) lines = self.checkEnabled(self.ids.engset_lines) block = self.checkEnabled(self.ids.engset_block) sources = self.checkEnabled(self.ids.sources) model = Model(traffic, lines, block, sources) self.ids.engset_result.text = str(model.calculate_engset()) except ValueError: self.popup.open()