Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)