Add additional tests for Path assertions · assertj/assertj@daf13ee (original) (raw)
`@@ -32,6 +32,8 @@
`
32
32
``
33
33
`import org.assertj.core.internal.PathsBaseTest;
`
34
34
`import org.junit.jupiter.api.Test;
`
``
35
`+
import org.junit.jupiter.params.ParameterizedTest;
`
``
36
`+
import org.junit.jupiter.params.provider.ValueSource;
`
35
37
``
36
38
`/**
`
37
39
` * @author Valeriy Vyrva
`
`@@ -108,27 +110,55 @@ void should_fail_if_actual_is_empty() throws IOException {
`
108
110
`then(error).hasMessage(directoryShouldContain(actual, emptyList(), "the 'glob:**' pattern").create());
`
109
111
` }
`
110
112
``
111
``
`-
@Test
`
112
``
`-
void should_pass_if_actual_contains_at_least_one_path_matching_the_given_pattern() throws IOException {
`
``
113
`+
@ParameterizedTest
`
``
114
`+
@ValueSource(strings = {
`
``
115
`+
"glob:**file",
`
``
116
`+
// "glob:file", // fails due to gh-2329
`
``
117
`+
"regex:.*file",
`
``
118
`+
// "regex:file", // fails due to gh-2329
`
``
119
`+
})
`
``
120
`+
void should_pass_if_actual_directly_contains_any_entries_matching_the_given_pattern(String syntaxAndPattern) throws IOException {
`
113
121
`// GIVEN
`
114
122
`Path actual = createDirectory(tempDir.resolve("actual"));
`
115
``
`-
createFile(actual.resolve("file"));
`
116
123
`createDirectory(actual.resolve("directory"));
`
117
``
`-
String syntaxAndPattern = "glob:**file";
`
``
124
`+
createFile(actual.resolve("file"));
`
118
125
`// WHEN/THEN
`
119
126
`paths.assertIsDirectoryContaining(info, actual, syntaxAndPattern);
`
120
127
` }
`
121
128
``
122
``
`-
@Test
`
123
``
`-
void should_fail_if_actual_does_not_contain_any_paths_matching_the_given_pattern() throws IOException {
`
``
129
`+
@ParameterizedTest
`
``
130
`+
@ValueSource(strings = {
`
``
131
`+
"glob:**file",
`
``
132
`+
"glob:file",
`
``
133
`+
"regex:.*file",
`
``
134
`+
"regex:file",
`
``
135
`+
})
`
``
136
`+
void should_fail_if_actual_does_not_contain_any_entries_matching_the_given_pattern(String syntaxAndPattern) throws IOException {
`
``
137
`+
// GIVEN
`
``
138
`+
Path actual = createDirectory(tempDir.resolve("actual"));
`
``
139
`+
Path directory = createDirectory(actual.resolve("directory"));
`
``
140
`+
// WHEN
`
``
141
`+
AssertionError error = expectAssertionError(() -> paths.assertIsDirectoryContaining(info, actual, syntaxAndPattern));
`
``
142
`+
// THEN
`
``
143
`+
then(error).hasMessage(directoryShouldContain(actual, list(directory), "the '" + syntaxAndPattern + "' pattern").create());
`
``
144
`+
}
`
``
145
+
``
146
`+
@ParameterizedTest
`
``
147
`+
@ValueSource(strings = {
`
``
148
`+
"glob:**file",
`
``
149
`+
"glob:file",
`
``
150
`+
"regex:.*file",
`
``
151
`+
"regex:file",
`
``
152
`+
})
`
``
153
`+
void should_fail_if_actual_recursively_contains_any_entries_matching_the_given_pattern(String syntaxAndPattern) throws IOException {
`
124
154
`// GIVEN
`
125
155
`Path actual = createDirectory(tempDir.resolve("actual"));
`
126
156
`Path directory = createDirectory(actual.resolve("directory"));
`
127
``
`-
String syntaxAndPattern = "glob:**file";
`
``
157
`+
createFile(directory.resolve("file"));
`
128
158
`// WHEN
`
129
159
`AssertionError error = expectAssertionError(() -> paths.assertIsDirectoryContaining(info, actual, syntaxAndPattern));
`
130
160
`// THEN
`
131
``
`-
then(error).hasMessage(directoryShouldContain(actual, list(directory), "the 'glob:**file' pattern").create());
`
``
161
`+
then(error).hasMessage(directoryShouldContain(actual, list(directory), "the '" + syntaxAndPattern + "' pattern").create());
`
132
162
` }
`
133
163
``
134
164
`}
`