Skip to content

Commit

Permalink
feat(tests): update tests with edge cases
Browse files Browse the repository at this point in the history
  • Loading branch information
sozelfist committed Oct 4, 2024
1 parent d5ed4ea commit de6f6d6
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions src/dynamic_programming/word_break.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,19 @@ mod tests {
typical_case_1: ("applepenapple", vec!["apple", "pen"], true),
typical_case_2: ("catsandog", vec!["cats", "dog", "sand", "and", "cat"], false),
typical_case_3: ("cars", vec!["car", "ca", "rs"], true),
edge_case_1: ("abc", vec![], false),
edge_case_2: ("a", vec!["a"], true),
repeated_words_case_1: ("aabb", vec!["a", "b"], true),
repeated_words_case_2: ("aaaaaaa", vec!["a", "aa", "aaa"], true),
no_solution_case_1: ("abcdef", vec!["ab", "abc", "cd"], false),
no_solution_case_2: ("xyz", vec!["a", "b", "c"], false),
long_string_case: (&"a".repeat(100), vec!["a", "aa", "aaa", "aaaa"], true),
edge_case_empty_string: ("", vec!["apple", "pen"], true),
edge_case_empty_dict: ("apple", vec![], false),
edge_case_single_char_in_dict: ("a", vec!["a"], true),
edge_case_single_char_not_in_dict: ("b", vec!["a"], false),
edge_case_all_words_larger_than_input: ("a", vec!["apple", "banana"], false),
edge_case_no_solution_large_string: ("abcdefghijklmnoqrstuv", vec!["a", "bc", "def", "ghij", "klmno", "pqrst"], false),
successful_segmentation_large_string: ("abcdefghijklmnopqrst", vec!["a", "bc", "def", "ghij", "klmno", "pqrst"], true),
long_string_repeated_pattern: (&"ab".repeat(100), vec!["a", "b", "ab"], true),
long_string_no_solution: (&"a".repeat(100), vec!["b"], false),
mixed_size_dict_1: ("pineapplepenapple", vec!["apple", "pen", "applepen", "pine", "pineapple"], true),
mixed_size_dict_2: ("catsandog", vec!["cats", "dog", "sand", "and", "cat"], false),
mixed_size_dict_3: ("abcd", vec!["a", "abc", "b", "cd"], true),
performance_stress_test_large_valid: (&"abc".repeat(1000), vec!["a", "ab", "abc"], true),
performance_stress_test_large_invalid: (&"x".repeat(1000), vec!["a", "ab", "abc"], false),
}
}

0 comments on commit de6f6d6

Please sign in to comment.