Ejemplo n.º 1
0
    def test_get_language(self):
        """Tests Language.get_language"""

        # Create test set with valid data
        valid_test_set = [
            (".py", "python"),
            (".java", "java"),
            (".cpp", "cpp"),
            (".c", "c"),
            (u".java", "java"),
            (".JaVa", "java"),
            (".JAVA", "java"),
        ]

        # Create test set with invalid data
        unsupported_error = "Unsupported file extension {}"
        invalid_type_error = "Parameter extension must be a string"

        # Create test set with unsupported extensions
        unsupported_test_set = [
            ".rand",
            "blah",
            ".1234",
            "\x03",
        ]

        # Create test set with invalid types
        invalid_type_test_set = [
            1234,
            b".py",
        ]

        # Add expected response
        for i, test in enumerate(unsupported_test_set):
            unsupported_test_set[i] = (test, (None,
                                              unsupported_error.format(test)))

        for i, test in enumerate(invalid_type_test_set):
            invalid_type_test_set[i] = (test, (None, invalid_type_error))

        # Merge invalid test sets
        invalid_test_set = unsupported_test_set + invalid_type_test_set

        # Merge both test sets
        test_set = valid_test_set + invalid_test_set

        # Run test for all tests in test_set
        for test in test_set:
            self.assertEqual(Language.get_language(test[0]), test[1])