Skip to content

feat: intentionally skipping the logic to check for the input

20b15d8
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

feat: intentionally skipping the logic to check for the input #3

feat: intentionally skipping the logic to check for the input
20b15d8
Select commit
Loading
Failed to load commit list.
GitHub Actions / Pytest Report succeeded Feb 3, 2026 in 1s

379 passed, 15 failed and 0 skipped

Tests failed

❌ pytest.xml

394 tests were completed in 12s with 379 passed, 15 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 379✅ 15❌ 12s

❌ pytest

evaluation_function.tests.test_analyzer.TestLoopInfo
  ✅ test_for_loop_description_with_bounds
  ✅ test_for_loop_description_without_bounds
  ✅ test_foreach_loop_description
  ✅ test_while_loop_description
  ✅ test_repeat_loop_description
evaluation_function.tests.test_analyzer.TestRecursionInfo
  ✅ test_linear_recursion_description
  ✅ test_divide_conquer_description
  ✅ test_binary_recursion_description
  ✅ test_multiple_recursion_description
evaluation_function.tests.test_analyzer.TestAnalysisResult
  ✅ test_get_complexity_string
  ✅ test_result_with_loops
evaluation_function.tests.test_analyzer.TestAnalyzerPatternBased
  ✅ test_constant_complexity_no_loops
  ✅ test_single_for_loop_linear
  ✅ test_nested_for_loops_quadratic
  ✅ test_triple_nested_loops_cubic
  ✅ test_while_loop_linear
  ✅ test_while_loop_logarithmic
  ✅ test_foreach_loop_linear
  ✅ test_repeat_until_loop
evaluation_function.tests.test_analyzer.TestAnalyzerRecursion
  ✅ test_simple_linear_recursion
  ✅ test_binary_recursion_exponential
  ✅ test_divide_and_conquer_merge_sort
  ✅ test_binary_search_recursion
  ✅ test_space_complexity_recursive
  ✅ test_space_complexity_divide_conquer
evaluation_function.tests.test_analyzer.TestAnalyzerAST
  ✅ test_analyze_ast_single_loop
  ✅ test_analyze_ast_nested_loops
  ✅ test_analyze_ast_global_statements
  ✅ test_analyze_ast_loop_with_conditional
evaluation_function.tests.test_analyzer.TestIterationEstimation
  ✅ test_constant_bounds
  ✅ test_variable_n_bound
  ✅ test_length_bound
evaluation_function.tests.test_analyzer.TestFeedbackGenerator
  ✅ test_generate_constant_feedback
  ✅ test_generate_linear_feedback
  ✅ test_generate_quadratic_feedback
  ✅ test_generate_recursion_feedback
  ✅ test_feedback_sections
  ✅ test_feedback_suggestions
evaluation_function.tests.test_analyzer.TestFeedbackFormats
  ✅ test_to_string_brief
  ✅ test_to_string_standard
  ✅ test_to_string_detailed
  ✅ test_to_dict
  ✅ test_format_for_student
  ✅ test_format_brief
evaluation_function.tests.test_analyzer.TestComplexityExplanations
  ✅ test_constant_explanation
  ✅ test_linear_explanation
  ✅ test_quadratic_explanation
evaluation_function.tests.test_analyzer.TestEdgeCases
  ✅ test_empty_code
  ✅ test_whitespace_only
  ✅ test_comments_only
  ✅ test_multiple_independent_loops
  ✅ test_deeply_nested_loops
  ✅ test_mixed_loop_types
  ✅ test_loop_with_constant_bound
  ✅ test_confidence_levels
evaluation_function.tests.test_analyzer.TestAnalyzerIntegration
  ✅ test_full_pipeline_linear
  ✅ test_full_pipeline_quadratic
  ✅ test_full_pipeline_recursive
  ✅ test_full_pipeline_exponential
evaluation_function.tests.test_analyzer.TestFeedbackSection
  ✅ test_section_creation
  ✅ test_section_importance_levels
evaluation_function.tests.test_analyzer.TestDetailedFeedback
  ✅ test_feedback_creation
  ✅ test_feedback_with_sections
  ✅ test_feedback_to_dict_structure
evaluation_function.tests.test_ast_builder.TestASTNodeTypes
  ✅ test_node_types_exist
  ✅ test_loop_types_exist
  ✅ test_operator_types_exist
evaluation_function.tests.test_ast_builder.TestProgramNode
  ✅ test_create_empty_program
  ✅ test_create_program_with_functions
  ✅ test_create_program_with_global_statements
  ✅ test_program_to_dict
evaluation_function.tests.test_ast_builder.TestFunctionNode
  ✅ test_create_simple_function
  ✅ test_create_function_with_parameters
  ✅ test_create_function_with_body
  ✅ test_create_recursive_function
  ✅ test_function_to_dict
evaluation_function.tests.test_ast_builder.TestBlockNode
  ✅ test_create_empty_block
  ✅ test_create_block_with_statements
  ✅ test_nested_blocks
evaluation_function.tests.test_ast_builder.TestLoopNode
  ✅ test_create_for_loop
  ✅ test_create_for_loop_with_step
  ✅ test_create_while_loop
  ✅ test_create_foreach_loop
  ✅ test_create_repeat_until_loop
  ✅ test_loop_nesting_level
  ✅ test_loop_estimated_iterations
  ✅ test_loop_to_dict
evaluation_function.tests.test_ast_builder.TestConditionalNode
  ✅ test_create_simple_if
  ✅ test_create_if_else
  ✅ test_create_if_elif_else
evaluation_function.tests.test_ast_builder.TestAssignmentNode
  ✅ test_create_simple_assignment
  ✅ test_create_array_assignment
  ✅ test_create_compound_assignment
evaluation_function.tests.test_ast_builder.TestExpressionNodes
  ✅ test_create_variable_node
  ✅ test_create_literal_int
  ✅ test_create_literal_float
  ✅ test_create_literal_string
  ✅ test_create_literal_bool
  ✅ test_create_binary_op_arithmetic
  ✅ test_create_binary_op_comparison
  ✅ test_create_binary_op_logical
  ✅ test_create_unary_op
  ✅ test_create_array_access_simple
  ✅ test_create_array_access_2d
  ✅ test_create_complex_expression
evaluation_function.tests.test_ast_builder.TestFunctionCallNode
  ✅ test_create_function_call_no_args
  ✅ test_create_function_call_with_args
  ✅ test_create_recursive_call
evaluation_function.tests.test_ast_builder.TestReturnNode
  ✅ test_create_return_with_value
  ✅ test_create_return_no_value
evaluation_function.tests.test_ast_builder.TestSourceLocation
  ✅ test_create_source_location
  ✅ test_create_source_location_with_end
  ✅ test_source_location_str
evaluation_function.tests.test_ast_builder.TestASTSerialization
  ✅ test_serialize_simple_program
  ✅ test_serialize_function
  ✅ test_serialize_loop
  ✅ test_serialize_complex_ast
evaluation_function.tests.test_complexity_schemas.TestComplexityClass
  ✅ test_complexity_class_values
  ✅ test_from_string_basic
  ✅ test_from_string_variations
  ✅ test_from_string_text_names
  ✅ test_from_string_unknown
  ✅ test_compare_complexities
  ✅ test_compare_with_unknown
  ✅ test_is_equivalent
  ✅ test_multiply_complexities
  ✅ test_get_order
evaluation_function.tests.test_complexity_schemas.TestComplexityExpression
  ✅ test_create_expression
  ✅ test_expression_with_coefficient
  ✅ test_expression_equivalence
evaluation_function.tests.test_complexity_schemas.TestComplexityFactor
  ✅ test_create_factor
evaluation_function.tests.test_complexity_schemas.TestLoopComplexity
  ✅ test_create_simple_loop
  ✅ test_nested_loop_complexity
  ✅ test_loop_with_bounds
  ✅ test_loop_to_dict
evaluation_function.tests.test_complexity_schemas.TestRecursionComplexity
  ✅ test_create_simple_recursion
  ✅ test_analyze_linear_recursion
  ✅ test_analyze_exponential_recursion
  ✅ test_analyze_divide_conquer_logarithmic
  ✅ test_analyze_divide_conquer_linearithmic
  ✅ test_recurrence_pattern
  ✅ test_recursion_to_dict
evaluation_function.tests.test_complexity_schemas.TestTimeComplexity
  ✅ test_create_time_complexity
  ✅ test_time_complexity_with_contributions
  ✅ test_time_complexity_cases
  ✅ test_time_complexity_to_dict
evaluation_function.tests.test_complexity_schemas.TestSpaceComplexity
  ✅ test_create_space_complexity
  ✅ test_space_complexity_with_auxiliary
  ✅ test_space_complexity_with_recursion_stack
  ✅ test_space_complexity_data_structures
evaluation_function.tests.test_complexity_schemas.TestComplexityResult
  ✅ test_create_complexity_result
  ✅ test_complexity_result_with_metadata
  ✅ test_complexity_result_with_warnings
  ✅ test_complexity_result_to_dict
evaluation_function.tests.test_complexity_schemas.TestComplexityClassOrdering
  ✅ test_complexity_ordering
  ✅ test_all_pairs_comparison
  ✅ test_symmetric_comparison
evaluation_function.tests.test_complexity_schemas.TestEdgeCases
  ✅ test_empty_expression
  ✅ test_nested_loops_deep
  ✅ test_zero_branching_factor
  ✅ test_large_coefficient
evaluation_function.tests.test_evaluation.TestEvaluationBasic
  ✅ test_evaluation_returns_result
  ❌ test_linear_meets_linear_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e5070>
  ❌ test_constant_meets_linear_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e6360>
  ✅ test_quadratic_exceeds_linear_bound
  ❌ test_quadratic_meets_quadratic_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e71a0>
evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds
  ❌ test_log_n_meets_log_n_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e6570>
  ✅ test_linear_exceeds_log_n_bound
  ❌ test_nlogn_meets_nlogn_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e6c30>
  ❌ test_linear_meets_nlogn_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e7b30>
  ❌ test_cubic_meets_cubic_bound
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e7560>
evaluation_function.tests.test_evaluation.TestEvaluationDictFormats
  ❌ test_dict_answer_time_complexity
	self = <evaluation_function.tests.test_evaluation.TestEvaluationDictFormats object at 0x7f2dff4e7440>
  ❌ test_dict_response_with_pseudocode
	self = <evaluation_function.tests.test_evaluation.TestEvaluationDictFormats object at 0x7f2dff4e4a10>
evaluation_function.tests.test_evaluation.TestEvaluationFeedback
  ✅ test_feedback_present_in_result
  ✅ test_feedback_shows_complexity
  ❌ test_correct_feedback_positive
	self = <evaluation_function.tests.test_evaluation.TestEvaluationFeedback object at 0x7f2dff4e4890>
evaluation_function.tests.test_evaluation.TestEvaluationErrorHandling
  ❌ test_empty_pseudocode
	self = <evaluation_function.tests.test_evaluation.TestEvaluationErrorHandling object at 0x7f2dff4dec30>
  ✅ test_none_response
evaluation_function.tests.test_evaluation.TestEvaluationComplexityVariants
  ❌ test_accepts_n_squared_notation
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityVariants object at 0x7f2dff4dd550>
  ❌ test_accepts_unicode_squared
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityVariants object at 0x7f2dff4e4920>
  ❌ test_accepts_quadratic_word
	self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityVariants object at 0x7f2dff4e7230>
evaluation_function.tests.test_evaluation.TestEvaluationCurlyBraceSyntax
  ❌ test_curly_brace_loops
	self = <evaluation_function.tests.test_evaluation.TestEvaluationCurlyBraceSyntax object at 0x7f2dff4e6c60>
evaluation_function.tests.test_input_output_schemas.TestStudentResponse
  ✅ test_create_minimal_response
  ✅ test_create_full_response
  ✅ test_pseudocode_validation_empty
  ✅ test_pseudocode_validation_whitespace_only
  ✅ test_pseudocode_stripped
  ✅ test_to_dict
  ✅ test_json_schema_example
evaluation_function.tests.test_input_output_schemas.TestExpectedAnswer
  ✅ test_create_minimal_answer
  ✅ test_create_full_answer
  ✅ test_get_all_acceptable_time
  ✅ test_get_all_acceptable_space
  ✅ test_weight_validation
evaluation_function.tests.test_input_output_schemas.TestEvaluationParams
  ✅ test_default_params
  ✅ test_custom_params
  ✅ test_weight_validation
  ✅ test_max_nesting_depth_validation
  ✅ test_timeout_validation
  ✅ test_pseudocode_style_options
evaluation_function.tests.test_input_output_schemas.TestFeedbackItem
  ✅ test_create_feedback_item
  ✅ test_feedback_levels
  ✅ test_feedback_with_details
evaluation_function.tests.test_input_output_schemas.TestConstructAnalysis
  ✅ test_create_construct_analysis
  ✅ test_construct_with_details
evaluation_function.tests.test_input_output_schemas.TestTimeComplexityResult
  ✅ test_create_correct_result
  ✅ test_create_incorrect_result
evaluation_function.tests.test_input_output_schemas.TestSpaceComplexityResult
  ✅ test_create_space_result
evaluation_function.tests.test_input_output_schemas.TestParseResult
  ✅ test_successful_parse
  ✅ test_failed_parse
evaluation_function.tests.test_input_output_schemas.TestComplexityAnalysis
  ✅ test_create_analysis
  ✅ test_analysis_with_constructs
evaluation_function.tests.test_input_output_schemas.TestEvaluationResult
  ✅ test_create_correct_result
  ✅ test_create_partial_result
  ✅ test_create_result_with_feedback_items
  ✅ test_create_result_with_warnings_errors
  ✅ test_to_lambda_feedback_response
  ✅ test_score_validation
  ✅ test_result_with_analysis
  ✅ test_result_with_metadata
evaluation_function.tests.test_input_output_schemas.TestSchemaRoundTrip
  ✅ test_student_response_roundtrip
  ✅ test_expected_answer_roundtrip
  ✅ test_evaluation_result_roundtrip
evaluation_function.tests.test_integration.TestEndToEndParsing
  ✅ test_parse_simple_assignment
  ✅ test_parse_simple_loop
  ✅ test_parse_nested_loops
  ✅ test_parse_function_with_loop
evaluation_function.tests.test_integration.TestAlgorithmComplexities
  ✅ test_constant_complexity
  ✅ test_linear_complexity
  ✅ test_quadratic_complexity
  ✅ test_cubic_complexity
  ✅ test_logarithmic_complexity
  ✅ test_linearithmic_complexity
  ✅ test_exponential_complexity
evaluation_function.tests.test_integration.TestPseudocodeStyles
  ✅ test_pascal_style
  ✅ test_python_style
  ✅ test_mixed_case_keywords
  ✅ test_unicode_operators
evaluation_function.tests.test_integration.TestLoopVariations
  ✅ test_for_loop_variations
  ✅ test_while_loop_variations
  ✅ test_foreach_variations
  ✅ test_repeat_until_variations
evaluation_function.tests.test_integration.TestConditionalVariations
  ✅ test_if_variations
  ✅ test_if_else_variations
  ✅ test_nested_conditionals
evaluation_function.tests.test_integration.TestFunctionVariations
  ✅ test_function_keywords
  ✅ test_function_with_parameters
evaluation_function.tests.test_integration.TestRecursionDetection
  ✅ test_simple_recursion
  ✅ test_binary_recursion
  ✅ test_divide_and_conquer_recursion
  ✅ test_no_recursion
evaluation_function.tests.test_integration.TestErrorHandling
  ✅ test_malformed_loop
  ✅ test_unclosed_block
  ✅ test_mismatched_keywords
  ✅ test_unknown_constructs
  ✅ test_empty_blocks
evaluation_function.tests.test_integration.TestPreprocessorIntegration
  ✅ test_typo_correction_in_pipeline
  ✅ test_operator_normalization_in_pipeline
  ✅ test_case_normalization_in_pipeline
evaluation_function.tests.test_integration.TestComplexAlgorithms
  ✅ test_quicksort
  ✅ test_dijkstra
  ✅ test_dfs
evaluation_function.tests.test_integration.TestEdgeCases
  ✅ test_deeply_nested_structure
  ✅ test_very_long_code
  ✅ test_single_line_constructs
  ✅ test_multiple_functions
  ✅ test_unicode_identifiers
  ✅ test_mixed_loops_and_recursion
evaluation_function.tests.test_integration.TestComplexityTestCases
  ✅ test_complexity_cases
evaluation_function.tests.test_parser.TestBasicParsing
  ✅ test_parse_returns_parse_result
  ✅ test_parse_simple_assignment
  ✅ test_parse_empty_input
  ✅ test_parse_whitespace_only
  ✅ test_normalized_code_returned
evaluation_function.tests.test_parser.TestForLoopParsing
  ✅ test_parse_simple_for_loop
  ✅ test_parse_for_loop_with_range
  ✅ test_parse_for_loop_with_step
  ✅ test_parse_for_loop_downto
  ✅ test_parse_nested_for_loops
  ✅ test_parse_triple_nested_loops
evaluation_function.tests.test_parser.TestWhileLoopParsing
  ✅ test_parse_simple_while_loop
  ✅ test_parse_while_with_complex_condition
  ✅ test_parse_nested_while_loops
evaluation_function.tests.test_parser.TestRepeatUntilParsing
  ✅ test_parse_repeat_until
  ✅ test_parse_repeat_with_complex_body
evaluation_function.tests.test_parser.TestForEachParsing
  ✅ test_parse_foreach_loop
  ✅ test_parse_foreach_variations
evaluation_function.tests.test_parser.TestConditionalParsing
  ✅ test_parse_simple_if
  ✅ test_parse_if_else
  ✅ test_parse_if_elif_else
  ✅ test_parse_nested_conditionals
evaluation_function.tests.test_parser.TestFunctionParsing
  ✅ test_parse_simple_function
  ✅ test_parse_function_with_parameters
  ✅ test_parse_function_with_array_parameter
  ✅ test_parse_multiple_functions
  ✅ test_parse_recursive_function
evaluation_function.tests.test_parser.TestRecursionDetection
  ✅ test_detect_simple_recursion
  ✅ test_detect_double_recursion
  ✅ test_detect_divide_conquer_recursion
  ✅ test_no_false_recursion_detection
evaluation_function.tests.test_parser.TestExpressionParsing
  ✅ test_parse_arithmetic_expressions
  ✅ test_parse_comparison_expressions
  ✅ test_parse_logical_expressions
  ✅ test_parse_array_access
  ✅ test_parse_function_call_expression
evaluation_function.tests.test_parser.TestStructureDetection
  ✅ test_detect_no_loops
  ✅ test_detect_single_loop
  ✅ test_detect_nested_loops
  ✅ test_detect_conditionals
  ✅ test_detect_complex_structure
evaluation_function.tests.test_parser.TestStyleVariations
  ✅ test_parse_python_style
  ✅ test_parse_pascal_style
  ✅ test_parse_mixed_case
  ✅ test_parse_unicode_operators
evaluation_function.tests.test_parser.TestErrorHandling
  ✅ test_handle_syntax_error
  ✅ test_handle_mismatched_blocks
  ✅ test_handle_unknown_keywords
  ✅ test_fallback_on_parse_error
  ✅ test_strict_mode_no_fallback
evaluation_function.tests.test_parser.TestCompleteAlgorithms
  ✅ test_parse_binary_search
  ✅ test_parse_bubble_sort
  ✅ test_parse_merge_sort
  ✅ test_parse_matrix_multiplication
evaluation_function.tests.test_parser.TestEdgeCases
  ✅ test_deeply_nested_structure
  ✅ test_empty_function_body
  ✅ test_single_statement
  ✅ test_comments_handling
  ✅ test_very_long_code
evaluation_function.tests.test_parser.TestCurlyBraceBlocks
  ✅ test_for_loop_with_curly_braces
  ✅ test_while_loop_with_curly_braces
  ✅ test_if_statement_with_curly_braces
  ✅ test_function_with_curly_braces
  ✅ test_nested_loops_with_curly_braces
  ✅ test_mixed_end_and_braces
evaluation_function.tests.test_parser.TestCallKeyword
  ✅ test_call_keyword_statement
  ✅ test_call_keyword_in_function
  ✅ test_direct_function_call
  ✅ test_call_with_curly_braces
evaluation_function.tests.test_preprocessor.TestKeywordNormalization
  ✅ test_for_keyword_variations
  ✅ test_while_keyword_variations
  ✅ test_if_then_else_variations
  ✅ test_function_keyword_variations
  ✅ test_return_keyword_variations
  ✅ test_boolean_literal_normalization
  ✅ test_logical_operator_variations
  ✅ test_end_keyword_variations
evaluation_function.tests.test_preprocessor.TestOperatorNormalization
  ✅ test_assignment_operators
  ✅ test_unicode_comparison_operators
  ✅ test_not_equal_variations
evaluation_function.tests.test_preprocessor.TestTypoCorrection
  ✅ test_common_keyword_typos
  ✅ test_typo_warning_message
  ✅ test_no_typo_correction_when_disabled
evaluation_function.tests.test_preprocessor.TestWhitespaceNormalization
  ✅ test_tab_to_space_conversion
  ✅ test_trailing_whitespace_removal
  ✅ test_multiple_blank_lines_collapse
  ✅ test_multiple_spaces_normalization
  ✅ test_indentation_preserved
evaluation_function.tests.test_preprocessor.TestStringPreservation
  ✅ test_double_quoted_strings_preserved
  ✅ test_single_quoted_strings_preserved
  ✅ test_mixed_strings_and_keywords
evaluation_function.tests.test_preprocessor.TestIndentationDetection
  ✅ test_detect_2_space_indent
  ✅ test_detect_4_space_indent
  ✅ test_get_indent_level
evaluation_function.tests.test_preprocessor.TestEdgeCases
  ✅ test_empty_input
  ✅ test_only_whitespace
  ✅ test_single_line
  ✅ test_windows_line_endings
  ✅ test_mac_line_endings
  ✅ test_unicode_identifiers
  ✅ test_very_long_lines
  ✅ test_nested_strings
evaluation_function.tests.test_preprocessor.TestPreprocessorConfig
  ✅ test_disable_case_normalization
  ✅ test_disable_operator_normalization
  ✅ test_disable_whitespace_normalization
  ✅ test_custom_tab_size
evaluation_function.tests.test_preprocessor.TestComplexPseudocode
  ✅ test_full_algorithm_normalization
  ✅ test_mixed_style_normalization
  ✅ test_unicode_operators_normalization
evaluation_function.tests.test_preview.TestPreviewBasic
  ✅ test_preview_simple_loop
  ✅ test_preview_nested_loops
  ✅ test_preview_recursion
evaluation_function.tests.test_preview.TestPreviewEmptyInput
  ✅ test_preview_empty_input
  ✅ test_preview_whitespace_only
  ✅ test_preview_invalid_response_type
evaluation_function.tests.test_preview.TestPreviewDictInput
  ✅ test_preview_dict_response
  ✅ test_preview_with_code_key
evaluation_function.tests.test_preview.TestPreviewLoopTypes
  ✅ test_preview_curly_brace_syntax
  ✅ test_preview_while_loop
evaluation_function.tests.test_preview.TestPreviewComplexityDetection
  ✅ test_preview_binary_search
  ✅ test_preview_constant_complexity
  ✅ test_preview_merge_sort_pattern
evaluation_function.tests.test_preview.TestPreviewLatex
  ✅ test_preview_latex_output
evaluation_function.tests.test_preview.TestPreviewEdgeCases
  ✅ test_preview_very_long_code
  ✅ test_preview_deeply_nested

Annotations

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationBasic ► test_linear_meets_linear_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e5070>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e5070>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee54440>

    def test_linear_meets_linear_bound(self, params):
        """Test linear code meets O(n) bound."""
        from ..evaluation import evaluation_function
    
        response = "FOR i = 1 TO n DO\n    x = x + 1\nEND FOR"
        answer = "O(n)"
        result = evaluation_function(response, answer, params)
    
>       assert result.is_correct is True
E       AssertionError: assert False is True
E        +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee54440>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:59: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationBasic ► test_constant_meets_linear_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e6360>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e6360>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee72660>

    def test_constant_meets_linear_bound(self, params):
        """Test constant code meets O(n) bound (better than required)."""
        from ..evaluation import evaluation_function
    
        response = "x = 1\ny = 2"
        answer = "O(n)"
        result = evaluation_function(response, answer, params)
    
>       assert result.is_correct is True
E       AssertionError: assert False is True
E        +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nx = 1\ny = 2\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee72660>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:69: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationBasic ► test_quadratic_meets_quadratic_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e71a0>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationBasic object at 0x7f2dff4e71a0>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee73350>

        def test_quadratic_meets_quadratic_bound(self, params):
            """Test quadratic code meets O(n^2) bound."""
            from ..evaluation import evaluation_function
    
            response = """FOR i = 1 TO n DO
        FOR j = 1 TO n DO
            x = x + 1
        END FOR
    END FOR"""
            answer = "O(n^2)"
            result = evaluation_function(response, answer, params)
    
>           assert result.is_correct is True
E           AssertionError: assert False is True
E            +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n^2)\n\nresponse\n\nFOR i = 1 TO n DO\n    FOR j = 1 TO n DO\n        x = x + 1\n    END FOR\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee73350>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:97: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds ► test_log_n_meets_log_n_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e6570>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e6570>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee73dd0>

        def test_log_n_meets_log_n_bound(self, params):
            """Test O(log n) code meets O(log n) bound."""
            from ..evaluation import evaluation_function
    
            response = """FUNCTION binarySearch(A, target, low, high)
        IF low > high THEN
            RETURN -1
        END IF
        mid = (low + high) / 2
        IF A[mid] == target THEN
            RETURN mid
        ELSE IF A[mid] < target THEN
            RETURN binarySearch(A, target, mid + 1, high)
        ELSE
            RETURN binarySearch(A, target, low, mid - 1)
        END IF
    END FUNCTION"""
            answer = "O(log n)"
            result = evaluation_function(response, answer, params)
    
>           assert result.is_correct is True
E           AssertionError: assert False is True
E            +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(log n)\n\nresponse\n\nFUNCTION binarySearch(A, target, low, high)\n    IF low > high THEN\n        RETURN -1\n    END IF\n    mid = (low + high) / 2\n    IF A[mid] == target THEN\n        RETURN mid\n    ELSE IF A[mid] < target THEN\n        RETURN binarySearch(A, target, mid + 1, high)\n    ELSE\n        RETURN binarySearch(A, target, low, mid - 1)\n    END IF\nEND FUNCTION\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee73dd0>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:123: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds ► test_nlogn_meets_nlogn_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e6c30>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e6c30>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee812b0>

        def test_nlogn_meets_nlogn_bound(self, params):
            """Test O(n log n) code meets O(n log n) bound."""
            from ..evaluation import evaluation_function
    
            response = """FUNCTION mergeSort(A, low, high)
        IF low < high THEN
            mid = (low + high) / 2
            mergeSort(A, low, mid)
            mergeSort(A, mid + 1, high)
            merge(A, low, mid, high)
        END IF
    END FUNCTION"""
            answer = "O(n log n)"
            result = evaluation_function(response, answer, params)
    
>           assert result.is_correct is True
E           AssertionError: assert False is True
E            +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n log n)\n\nresponse\n\nFUNCTION mergeSort(A, low, high)\n    IF low < high THEN\n        mid = (low + high) / 2\n        mergeSort(A, low, mid)\n        mergeSort(A, mid + 1, high)\n        merge(A, low, mid, high)\n    END IF\nEND FUNCTION\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee812b0>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:150: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds ► test_linear_meets_nlogn_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e7b30>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e7b30>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee81c10>

    def test_linear_meets_nlogn_bound(self, params):
        """Test O(n) code meets O(n log n) bound (better than required)."""
        from ..evaluation import evaluation_function
    
        response = "FOR i = 1 TO n DO\n    x = x + 1\nEND FOR"
        answer = "O(n log n)"
        result = evaluation_function(response, answer, params)
    
>       assert result.is_correct is True
E       AssertionError: assert False is True
E        +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n log n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee81c10>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:160: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds ► test_cubic_meets_cubic_bound

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e7560>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationComplexityBounds object at 0x7f2dff4e7560>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee82300>

        def test_cubic_meets_cubic_bound(self, params):
            """Test O(n^3) code meets O(n^3) bound."""
            from ..evaluation import evaluation_function
    
            response = """FOR i = 1 TO n DO
        FOR j = 1 TO n DO
            FOR k = 1 TO n DO
                x = x + 1
            END FOR
        END FOR
    END FOR"""
            answer = "O(n^3)"
            result = evaluation_function(response, answer, params)
    
>           assert result.is_correct is True
E           AssertionError: assert False is True
E            +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n^3)\n\nresponse\n\nFOR i = 1 TO n DO\n    FOR j = 1 TO n DO\n        FOR k = 1 TO n DO\n            x = x + 1\n        END FOR\n    END FOR\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee82300>', tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:176: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationDictFormats ► test_dict_answer_time_complexity

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationDictFormats object at 0x7f2dff4e7440>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationDictFormats object at 0x7f2dff4e7440>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee83020>

    def test_dict_answer_time_complexity(self, params):
        """Test dict answer with expected_time_complexity."""
        from ..evaluation import evaluation_function
    
        response = "FOR i = 1 TO n DO\n    x = x + 1\nEND FOR"
        answer = {"expected_time_complexity": "O(n)"}
        result = evaluation_function(response, answer, params)
    
>       assert result.is_correct is True
E       assert False is True
E        +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback="An error occurred during evaluation: answer:\n\n{'expected_time_complexity': 'O(n)'}\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee83020>", tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:190: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationDictFormats ► test_dict_response_with_pseudocode

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationDictFormats object at 0x7f2dff4e4a10>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationDictFormats object at 0x7f2dff4e4a10>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee83a40>

    def test_dict_response_with_pseudocode(self, params):
        """Test dict response with pseudocode key."""
        from ..evaluation import evaluation_function
    
        response = {"pseudocode": "FOR i = 1 TO n DO\n    x = x + 1\nEND FOR"}
        answer = "O(n)"
        result = evaluation_function(response, answer, params)
    
>       assert result.is_correct is True
E       assert False is True
E        +  where False = Result(is_correct=False, response_latex='', response_simplified='', feedback="An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\n{'pseudocode': 'FOR i = 1 TO n DO\\n    x = x + 1\\nEND FOR'}\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee83a40>", tags=['error']).is_correct

evaluation_function/tests/test_evaluation.py:200: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationFeedback ► test_correct_feedback_positive

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationFeedback object at 0x7f2dff4e4890>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationFeedback object at 0x7f2dff4e4890>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>

    def test_correct_feedback_positive(self, params):
        """Test correct answer gets positive feedback."""
        from ..evaluation import evaluation_function
    
        response = "FOR i = 1 TO n DO\n    x = x + 1\nEND FOR"
        answer = "O(n)"
        result = evaluation_function(response, answer, params)
    
>       assert "Correct" in result.feedback or "meets" in result.feedback
E       AssertionError: assert ('Correct' in 'An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>' or 'meets' in 'An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>')
E        +  where 'An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>' = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>', tags=['error']).feedback
E        +  and   'An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>' = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\nFOR i = 1 TO n DO\n    x = x + 1\nEND FOR\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfeef8590>', tags=['error']).feedback

evaluation_function/tests/test_evaluation.py:236: AssertionError

Check failure on line 0 in pytest.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Report

pytest ► evaluation_function.tests.test_evaluation.TestEvaluationErrorHandling ► test_empty_pseudocode

Failed test found in:
  pytest.xml
Error:
  self = <evaluation_function.tests.test_evaluation.TestEvaluationErrorHandling object at 0x7f2dff4dec30>
Raw output
self = <evaluation_function.tests.test_evaluation.TestEvaluationErrorHandling object at 0x7f2dff4dec30>
params = <evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee82d50>

    def test_empty_pseudocode(self, params):
        """Test handling of empty pseudocode."""
        from ..evaluation import evaluation_function
    
        response = ""
        answer = "O(n)"
        result = evaluation_function(response, answer, params)
    
        assert result.is_correct is False
>       assert "No pseudocode" in result.feedback
E       AssertionError: assert 'No pseudocode' in 'An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\n\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee82d50>'
E        +  where 'An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\n\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee82d50>' = Result(is_correct=False, response_latex='', response_simplified='', feedback='An error occurred during evaluation: answer:\n\nO(n)\n\nresponse\n\n\n\nparams:\n\n<evaluation_function.tests.test_evaluation.MockParams object at 0x7f2dfee82d50>', tags=['error']).feedback

evaluation_function/tests/test_evaluation.py:251: AssertionError