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])