def calculate_data(self):
        # Create a GrowthCalculator object
        growth = GrowthCalculator()

        # Update the GrowthCalculator parameters from the GUI options
        growth.a = self.options_menu.a_sb.value()
        growth.b = self.options_menu.b_sb.value()
        growth.c = self.options_menu.c_sb.value()
        growth.d = self.options_menu.d_sb.value()
        growth.predators = self.options_menu.predator_sb.value()
        growth.prey = self.options_menu.prey_sb.value()
        growth.iterations = self.options_menu.iterations_sb.value()
        growth.dt = self.options_menu.timedelta_sb.value()

        # Calculate the population growths
        results = growth.calculate()
        self.predator_history.extend(results['predator'])
        self.prey_history.extend(results['prey'])

        # Put the latest population sizes into the options toolbar
        self.options_menu.predator_sb.setValue(self.predator_history[-1])
        self.options_menu.prey_sb.setValue(self.prey_history[-1])

        # Redraw the graph
        self.redraw_graph()
 def setup(self):
     self.growth_calculator = GrowthCalculator()
class TestGrowthCalculator:
    def setup(self):
        self.growth_calculator = GrowthCalculator()

    def teardown(self):
        del (self.growth_calculator)

    def test_growth_calculator_1(self):
        self.growth_calculator.a = 0.02
        self.growth_calculator.b = 0.1
        self.growth_calculator.c = 1.0
        self.growth_calculator.d = 0.075
        self.growth_calculator.predators = 5
        self.growth_calculator.prey = 10
        self.growth_calculator.iterations = 5
        self.growth_calculator.dt = 0.02

        # Define the expected results
        expected_results = {
            'prey': [
                9.9047084,
                9.810826891605023,
                9.718343504557055,
                9.627245889460662,
                9.537521345656497,
            ],
            'predator': [
                4.9747043,
                4.94883441612808,
                4.922411023677906,
                4.895454666361016,
                4.867985738110833,
            ],
        }

        # Calculate the population growths and compare to the expected results
        actual_results = self.growth_calculator.calculate()
        assert (actual_results == expected_results)

    def test_growth_calculator_2(self):
        self.growth_calculator.a = 0.04
        self.growth_calculator.b = 0.1
        self.growth_calculator.c = 1.0
        self.growth_calculator.d = 0.073
        self.growth_calculator.predators = 3
        self.growth_calculator.prey = 20
        self.growth_calculator.iterations = 7
        self.growth_calculator.dt = 0.01

        # Define the expected results
        expected_results = {
            'prey': [
                19.9479299588,
                19.895721936011856,
                19.8433787738455,
                19.790903335727396,
                19.738298505684906,
                19.685567187722064,
                19.632712305186992,
            ],
            'predator': [
                3.013774538076,
                3.0274970884979107,
                3.0411660643883405,
                3.0547798800787245,
                3.068336951550548,
                3.0818356968782594,
                3.095274536673641,
            ],
        }

        # Calculate the population growths and compare to the expected results
        actual_results = self.growth_calculator.calculate()
        assert (actual_results == expected_results)
 def setup(self):
     self.growth_calculator = GrowthCalculator()
class TestGrowthCalculator:
    def setup(self):
        self.growth_calculator = GrowthCalculator()

    def teardown(self):
        del(self.growth_calculator)

    def test_growth_calculator_1(self):
        self.growth_calculator.a = 0.02
        self.growth_calculator.b = 0.1
        self.growth_calculator.c = 1.0
        self.growth_calculator.d = 0.075
        self.growth_calculator.predators = 5
        self.growth_calculator.prey = 10
        self.growth_calculator.iterations = 5
        self.growth_calculator.dt = 0.02

        # Define the expected results
        expected_results = {
            'prey': [
                9.9047084,
                9.810826891605023,
                9.718343504557055,
                9.627245889460662,
                9.537521345656497,
            ],
            'predator': [
                4.9747043,
                4.94883441612808,
                4.922411023677906,
                4.895454666361016,
                4.867985738110833,
            ],
        }

        # Calculate the population growths and compare to the expected results
        actual_results = self.growth_calculator.calculate()
        assert(actual_results == expected_results)

    def test_growth_calculator_2(self):
        self.growth_calculator.a = 0.04
        self.growth_calculator.b = 0.1
        self.growth_calculator.c = 1.0
        self.growth_calculator.d = 0.073
        self.growth_calculator.predators = 3
        self.growth_calculator.prey = 20
        self.growth_calculator.iterations = 7
        self.growth_calculator.dt = 0.01

        # Define the expected results
        expected_results = {
            'prey': [
                19.9479299588,
                19.895721936011856,
                19.8433787738455,
                19.790903335727396,
                19.738298505684906,
                19.685567187722064,
                19.632712305186992,
            ],
            'predator': [
                3.013774538076,
                3.0274970884979107,
                3.0411660643883405,
                3.0547798800787245,
                3.068336951550548,
                3.0818356968782594,
                3.095274536673641,
            ],
        }

        # Calculate the population growths and compare to the expected results
        actual_results = self.growth_calculator.calculate()
        assert(actual_results == expected_results)
Example #6
0
    def calculate_data(self):
        # Create a GrowthCalculator object
        growth = GrowthCalculator()

        # Update the GrowthCalculator parameters from the GUI options
        growth.a = self.options_menu.a_sb.value()
        growth.b = self.options_menu.b_sb.value()
        growth.c = self.options_menu.c_sb.value()
        growth.d = self.options_menu.d_sb.value()
        growth.predators = self.options_menu.predator_sb.value()
        growth.prey = self.options_menu.prey_sb.value()
        growth.iterations = self.options_menu.iterations_sb.value()
        growth.dt = self.options_menu.timedelta_sb.value()

        # Calculate the population growths
        results = growth.calculate()
        self.predator_history.extend(results['predator'])
        self.prey_history.extend(results['prey'])

        # Put the latest population sizes into the options toolbar
        self.options_menu.predator_sb.setValue(self.predator_history[-1])
        self.options_menu.prey_sb.setValue(self.prey_history[-1])

        # Redraw the graph
        self.redraw_graph()