Esempio n. 1
0
    def test_calculate_plagiarism_score_empty_sentence(self):
        """
        Tests that calculate_plagiarism_score function
            can handle empty sentence input
        """
        patches_lcs_length = 2
        sentence = ()

        expected = 0.0
        actual = calculate_plagiarism_score(patches_lcs_length, sentence)
        self.assertEqual(expected, actual)
Esempio n. 2
0
 def test_calculate_plagiarism_score_ideal(self):
     """
     Tests that calculate_plagiarism_score function
         can handle ideal simple input
     """
     lcs_length = 3
     suspicious_sentence_tokens = ('the', 'cat', 'is', 'sleeping')
     expected = 0.75
     actual = calculate_plagiarism_score(lcs_length,
                                         suspicious_sentence_tokens)
     self.assertEqual(expected, actual)
Esempio n. 3
0
    def test_calculate_plagiarism_score_incorrectly_filled_sentence(self):
        """
        Tests that calculate_plagiarism_score function
            can handle incorrectly filled sentence
        """
        patches_lcs_length = 2
        sentence = ('', '', None)

        expected = -1
        actual = calculate_plagiarism_score(patches_lcs_length, sentence)
        self.assertEqual(expected, actual)
Esempio n. 4
0
    def test_calculate_plagiarism_score_check_output(self):
        """
        Tests that calculate_plagiarism_score function
            can generate correct output according to given specs
        """
        lcs_length = 3
        suspicious_sentence_tokens = ('the', 'cat', 'is', 'sleeping')

        actual = calculate_plagiarism_score(lcs_length,
                                            suspicious_sentence_tokens)
        self.assertTrue(isinstance(actual, float))
Esempio n. 5
0
    def test_calculate_plagiarism_score_incorrect_sentence_input(self):
        """
        Tests that calculate_plagiarism_score function
            can handle incorrect suspicious_sentence_tokens inputs
        """
        patches_lcs_length = 0
        bad_inputs = [[], {}, (), 9.22, -1, 0, -6, None, True]

        expected = -1
        for bad_input in bad_inputs:
            actual = calculate_plagiarism_score(patches_lcs_length, bad_input)
            self.assertEqual(expected, actual)
Esempio n. 6
0
    def test_calculate_plagiarism_score_incorrect_lcs_inputs(self):
        """
        Tests that calculate_plagiarism_score function
            can handle incorrect lcs_matrix inputs
        """
        bad_inputs = [[], {}, (), '', 9.22, -1, -6, None, True]
        patches_sentence = ('the', 'cat', 'is', 'sleeping')

        expected = -1
        for bad_input in bad_inputs:
            actual = calculate_plagiarism_score(bad_input, patches_sentence)
            self.assertEqual(expected, actual)
Esempio n. 7
0
    def test_calculate_plagiarism_score_min(self):
        """
        Tests that calculate_plagiarism_score function
            can generate min plagiarism correctly
        """
        lcs_length = 0
        suspicious_sentence_tokens = ('the', 'cat', 'is', 'sleeping')

        expected = 0.0
        actual = calculate_plagiarism_score(lcs_length,
                                            suspicious_sentence_tokens)
        self.assertEqual(expected, actual)
Esempio n. 8
0
    def test_calculate_plagiarism_score_different_lcs_length(self):
        """
        Tests that calculate_plagiarism_score function
            can handle bigger lcs_length than given sentence
        """
        lcs_length = 1000000
        suspicious_sentence_tokens = ('the', 'cat', 'is', 'sleeping')

        expected = -1
        actual = calculate_plagiarism_score(lcs_length,
                                            suspicious_sentence_tokens)
        self.assertEqual(expected, actual)