def test_calculate_linear_or_presize_linear_length_test_results_length(self): """ test that we write 8 fields to DB """ scene_tool_box = PngcnSceneKpis(self.ProjectConnector_mock, self.common_mock, 16588190, self.data_provider_mock) data = [{'scene_fk': 101, 'manufacturer_fk': 2, 'product_fk': 252, 'width_mm': 0.84, 'width_mm_advance': 1.23}, {'scene_fk': 121, 'manufacturer_fk': 4, 'product_fk': 132, 'width_mm': 0.80, 'width_mm_advance': 0.99}, {'scene_fk': 201, 'manufacturer_fk': 4, 'product_fk': 152, 'width_mm': 0.28, 'width_mm_advance': 0.75}, {'scene_fk': 151, 'manufacturer_fk': 5, 'product_fk': 172, 'width_mm': 0.95, 'width_mm_advance': 0.15}] scene_tool_box.get_filterd_matches = MagicMock(return_value=pd.DataFrame(data)) scene_tool_box.png_manufacturer_fk = 4 scene_tool_box.common.write_to_db_result = MagicMock() width = random.choice(['width_mm', 'width_mm_advance']) scene_tool_box.calculate_linear_or_presize_linear_length(width) kpi_results = scene_tool_box.common.write_to_db_result.mock_calls[0][2] if kpi_results: self.assertEqual(len(kpi_results), 8, 'expects to write 8 parameters to db')
def test_calculate_linear_or_presize_linear_length_test_results_sanity(self): """ test if the numerator is greater then denominator (if the subgroup is greater then containing group) """ scene_tool_box = PngcnSceneKpis(self.ProjectConnector_mock, self.common_mock, 16588190, self.data_provider_mock) data = [{'scene_fk': 101, 'manufacturer_fk': 2, 'product_fk': 252, 'width_mm': 0.84, 'width_mm_advance': 1.23}, {'scene_fk': 121, 'manufacturer_fk': 4, 'product_fk': 132, 'width_mm': 0.80, 'width_mm_advance': 0.99}, {'scene_fk': 201, 'manufacturer_fk': 4, 'product_fk': 152, 'width_mm': 0.28, 'width_mm_advance': 0.75}, {'scene_fk': 151, 'manufacturer_fk': 5, 'product_fk': 172, 'width_mm': 0.95, 'width_mm_advance': 0.15}] scene_tool_box.get_filterd_matches = MagicMock(return_value=pd.DataFrame(data)) scene_tool_box.png_manufacturer_fk = 4 scene_tool_box.common.write_to_db_result = MagicMock() width = random.choice(['width_mm', 'width_mm_advance']) scene_tool_box.calculate_linear_or_presize_linear_length(width) kpi_results = scene_tool_box.common.write_to_db_result.mock_calls[0][2] if kpi_results: numerator = kpi_results['numerator_result'] denominator = kpi_results['denominator_result'] self.assertGreaterEqual(denominator, numerator, 'the numerator cant be greater then denominator')