Ejemplo n.º 1
0
    def test_delete_scenario_calls_data_handler(self, mock__get_scenarios,
                                                mock__data_handler):
        mapper = ScenarioMapper()

        mapper.delete_scenario(1, 1)

        mock__data_handler.assert_called_with(
            'DELETE FROM scenario WHERE id = %s', (1, ), False)
Ejemplo n.º 2
0
    def test_scenarios_calls_parser(self, mock_data_handler):
        mapper = ScenarioMapper()
        model = ScenarioResponseModel()
        model.naam = 'Naam'

        scenarios = mapper.get_scenarios(1)

        mock_data_handler.assert_called_with(1)
Ejemplo n.º 3
0
    def test_add_scenario_calls_data_handler(self, mock__get_scenarios,
                                             mock_stored_procedure):
        model = ScenarioResponseModel()
        mapper = ScenarioMapper()

        mapper.add_scenario(model, 1)

        mock_stored_procedure.assert_called_with(
            'maak_scenario_en_stop_in_project', ('scenario', 'toelichting', 1))
Ejemplo n.º 4
0
    def test_update_scenario_calls_data_handler(self, mock__get_scenarios,
                                                mock__data_handler):
        model = ScenarioResponseModel()
        mapper = ScenarioMapper()

        mapper.update_scenario(model, 1)

        mock__data_handler.assert_called_with("UPDATE scenario " \
                                              "SET naam = %s, toelichting = %s " \
                                              "WHERE id = %s", ('scenario', 'toelichting', 1), False)
Ejemplo n.º 5
0
    def test_update_jaar_in_gebeurtenis_in_scenario_call_get_scenarios(
            self, mock__get_scenarios, mock__data_handler):
        # Arrange
        mapper = ScenarioMapper()

        # Act
        mapper.update_jaar_in_gebeurtenis_in_scenario(1, 1, 1, 1, 1)

        # Assert
        mock__get_scenarios.assert_called()
Ejemplo n.º 6
0
    def test_get_scenario_by_id_calls_get_scenarios_with_details(
            self, mock_get_scenarios_with_details):
        # Arrange
        mapper = ScenarioMapper()

        # Act
        mapper.get_scenario_by_id(1, 1)

        # Assert
        mock_get_scenarios_with_details.assert_called()
Ejemplo n.º 7
0
    def test_remove_jaar_from_gebeurtenis_call_get_scenarios(
            self, mock__get_scenarios, mock__data_handler):
        # Arrange
        mapper = ScenarioMapper()

        # Act
        mapper.remove_jaar_from_gebeurtenis(1, 1, 1, 1)

        # Assert
        mock__get_scenarios.assert_called()
Ejemplo n.º 8
0
    def test_add_gebeurtenis_to_scenario_call_get_scenarios(
            self, mock__get_scenarios, mock__data_handler):
        # Arrange
        mapper = ScenarioMapper()

        # Act
        mapper.add_gebeurtenis_to_scenario(1, 1, 1)

        # Assert
        mock__get_scenarios.assert_called()
Ejemplo n.º 9
0
 def test_data_handler_throws_exception(self):
     with self.assertRaises(Exception) as excep:
         mapper = ScenarioMapper()
         mapper._data_handler("WRONGQUERY", "", False)
Ejemplo n.º 10
0
    def test_data_handler_returns_None(self, mock_db_connection):
        mapper = ScenarioMapper()

        result = mapper._data_handler("", "", False)

        assert result == None
Ejemplo n.º 11
0
    def test_data_handler_calls_connection(self, mock_db_connection):
        mapper = ScenarioMapper()

        mapper._data_handler("", "", True)

        mock_db_connection.assert_called_with()
Ejemplo n.º 12
0
    def test_db_connection(self, mock_connect):
        mapper = ScenarioMapper()

        mapper._db_connection()

        mock_connect.assert_called()
Ejemplo n.º 13
0
 def __init__(self):
     self.repository = ScenarioMapper()
     self.scenarios = []
     self.JAREN = 100
Ejemplo n.º 14
0
class ScenarioController(object):
    def __init__(self):
        self.repository = ScenarioMapper()
        self.scenarios = []
        self.JAREN = 100

    """"create_scenario geeft het meegegeven scenario mee aan de repository zodat het scenario kan worden toegevoegd"""

    def create_scenario(self, model: ScenarioResponseModel, project_id: int):
        self.repository.add_scenario(model, project_id)

    """get_all_scenario's roept get_scenarios() aan in de repository en geeft alle opgehaalde scenarios terug"""

    def get_all_scenarios(self, project_id: int):
        return self.repository.get_scenarios(project_id)

    """delete_scenario geeft het meegegeven id mee aan de repository zodat die scenario met het meegegeven id kan 
    verwijderen """

    def delete_scenario(self, id: int, project_id: int):
        return self.repository.delete_scenario(id, project_id)

    """update_scenario geeft het meegegeven scenario mee aan de repository zodat het meegegeven scenario bijgewerkt 
    kan worden """

    def update_scenario(self, model: ScenarioResponseModel, project_id: int):
        return self.repository.update_scenario(model, project_id)

    """get_scenario_from_id selecteert het gewenste scenario en geeft deze terug."""

    def add_gebeurtenis_to_scenario(self, scenario_id, gebeurtenis_id,
                                    project_id):
        return self.repository.add_gebeurtenis_to_scenario(
            scenario_id, gebeurtenis_id, project_id)

    """verwijder een gebeurtenis van een scenario"""

    def remove_gebeurtenis_from_scenario(self, scenario_id, gebeurtenis_id,
                                         project_id: int):
        return self.repository.remove_gebeurtenis_from_scenario(
            scenario_id, gebeurtenis_id, project_id)

    """voeg een jaar toe aan een gebeurtenis binnen een scenario"""

    def add_jaar_to_gebeurtenis_in_scenario(self, scenario_id, gebeurtenis_id,
                                            jaar, waarde, project_id):
        return self.repository.add_jaar_to_gebeurtenis_in_scenario(
            scenario_id, gebeurtenis_id, jaar, waarde, project_id)

    """pas de waarde van een jaar aan"""

    def update_jaar_in_gebeurtenis_in_scenario(self, scenario_id,
                                               gebeurtenis_id, jaar, waarde,
                                               project_id):
        return self.repository.update_jaar_in_gebeurtenis_in_scenario(
            scenario_id, gebeurtenis_id, jaar, waarde, project_id)

    """verwijder een jaar uit een gebeurtenis"""

    def remove_jaar_from_gebeurtenis_in_scenario(self, scenario_id,
                                                 gebeurtenis_id, jaar,
                                                 project_id):
        return self.repository.remove_jaar_from_gebeurtenis(
            scenario_id, gebeurtenis_id, jaar, project_id)

    def get_scenario_from_id(self,
                             project_id: int,
                             id: int,
                             waccc: float = 5,
                             waccw: float = 1,
                             jaren: int = 100,
                             cumulatief_berekenen: bool = True,
                             cashflow_berekenen: bool = True,
                             waardering_berekenen: bool = True):
        calc = LCVCalculator(waccc, waccw, cumulatief_berekenen,
                             cashflow_berekenen, waardering_berekenen)
        list = self.repository.get_scenarios(project_id)
        for scenario in list:
            if self._is_id_gelijk(scenario.id, id):
                scenario.result = calc.bereken_lcv_voor_scenario(
                    scenario, jaren)
                return scenario
        return None

    """get_multiple_scenarios_from_ids selecteert de gewenste scenario's en geeft deze terug."""

    def get_multiple_scenarios_from_ids(self,
                                        project_id: int,
                                        ids: List[int],
                                        waccc: float = 5,
                                        waccw: float = 1,
                                        jaren: int = 100,
                                        cumulatief_berekenen: bool = True,
                                        cashflow_berekenen: bool = True,
                                        waardering_berekenen: bool = True):
        calc = LCVCalculator(waccc, waccw, cumulatief_berekenen,
                             cashflow_berekenen, waardering_berekenen)
        list = self.repository.get_scenarios(project_id)
        geselecteerde_scenarios: List[ScenarioResponseModel] = []
        for id in ids:
            for scenario in list:
                if self._is_id_gelijk(scenario.id, id):
                    scenario.result = calc.bereken_lcv_voor_scenario(
                        scenario, jaren)
                    geselecteerde_scenarios.append(scenario)
        return geselecteerde_scenarios

    def _is_id_gelijk(self, scenario_id, opgegeven_id):
        return scenario_id == opgegeven_id
Ejemplo n.º 15
0
 def import_to_db_scenario(self, json_model_array, project_id):
     mapper = ScenarioMapper()
     for i in range(len(json_model_array)):
         mapper.add_scenario(json_model_array[i], project_id)