def test_terms_small_batch_treat_all(self): dummy_doc_generate = DummyDocumentsGenerate() # Init the list of user nbr_doc_per_hours = 5 nbr_hours = 10 nbr_doc_generated_per_hours = [ nbr_doc_per_hours for _ in range(nbr_hours) ] # If the number of document per hours is not a divisor of the batch limit, all document will not be detected # Generate documents self.test_es.add_multiple_docs( dummy_doc_generate.generate_doc_time_variable_sensitivity( nbr_doc_generated_per_hours)) # Run analyzer self.test_settings.change_configuration_path( "/app/tests/unit_tests/files/terms_test_small_batch_eval.conf") analyzer = AnalyzerFactory.create( "/app/tests/unit_tests/files/use_cases/terms/terms_dummy_test_float.conf" ) analyzer.evaluate_model() self.assertEqual(analyzer.total_outliers, nbr_doc_per_hours * nbr_hours)
def test_terms_detect_one_outlier_batch_check(self): dummy_doc_generate = DummyDocumentsGenerate() nbr_doc_generated_per_hours = [5, 3, 1, 2] # Generate documents self.test_es.add_multiple_docs( dummy_doc_generate.generate_doc_time_variable_sensitivity( nbr_doc_generated_per_hours)) # Only the first groupe of document must be detected like an Outlier because the limit is on 3 # Run analyzer self.test_settings.change_configuration_path( "/app/tests/unit_tests/files/terms_test_01.conf") analyzer = AnalyzerFactory.create( "/app/tests/unit_tests/files/use_cases/terms/terms_dummy_test_float.conf" ) analyzer.evaluate_model() self.assertEqual(analyzer.total_outliers, 5)
def test_terms_small_batch_last_outlier(self): dummy_doc_generate = DummyDocumentsGenerate() # Init the list of user with 18 values of 2 nbr_doc_generated_per_hours = [2 for _ in range(18)] # Add a value at the end that must be detected like outlier (limit on 3) nbr_doc_generated_per_hours.append(4) # Generate documents self.test_es.add_multiple_docs( dummy_doc_generate.generate_doc_time_variable_sensitivity( nbr_doc_generated_per_hours)) # Run analyzer self.test_settings.change_configuration_path( "/app/tests/unit_tests/files/terms_test_small_batch_eval.conf") analyzer = AnalyzerFactory.create( "/app/tests/unit_tests/files/use_cases/terms/terms_dummy_test_float.conf" ) analyzer.evaluate_model() self.assertEqual(analyzer.total_outliers, 4)