-
Notifications
You must be signed in to change notification settings - Fork 564
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #444 from Codium-ai/tr/fallback_yaml
Implementing Fallback Mechanisms for YAML Parsing
- Loading branch information
Showing
2 changed files
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
|
||
# Generated by CodiumAI | ||
from pr_agent.algo.utils import try_fix_yaml | ||
|
||
|
||
import pytest | ||
|
||
class TestTryFixYaml: | ||
|
||
# The function successfully parses a valid YAML string. | ||
def test_valid_yaml(self): | ||
review_text = "key: value\n" | ||
expected_output = {"key": "value"} | ||
assert try_fix_yaml(review_text) == expected_output | ||
|
||
# The function adds '|-' to 'relevant line:' if it is not already present and successfully parses the YAML string. | ||
def test_add_relevant_line(self): | ||
review_text = "relevant line: value: 3\n" | ||
expected_output = {"relevant line": "value: 3"} | ||
assert try_fix_yaml(review_text) == expected_output | ||
|
||
# The function removes the last line(s) of the YAML string and successfully parses the YAML string. | ||
def test_remove_last_line(self): | ||
review_text = "key: value\nextra invalid line\n" | ||
expected_output = {"key": "value"} | ||
assert try_fix_yaml(review_text) == expected_output | ||
|
||
# The YAML string is empty. | ||
def test_empty_yaml_fixed(self): | ||
review_text = "" | ||
assert try_fix_yaml(review_text) is None |