Skip to content

Commit 8cd0f11

Browse files
committed
Add missing case to JavaFileObjectKindAssertTest
1 parent 0eba29f commit 8cd0f11

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

java-compiler-testing/src/test/java/io/github/ascopes/jct/tests/unit/assertions/JavaFileObjectKindAssertTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
import static org.assertj.core.api.Assertions.assertThatThrownBy;
2020

2121
import io.github.ascopes.jct.assertions.JavaFileObjectKindAssert;
22+
import javax.tools.JavaFileObject;
2223
import javax.tools.JavaFileObject.Kind;
24+
import org.assertj.core.api.AbstractStringAssert;
2325
import org.junit.jupiter.api.DisplayName;
2426
import org.junit.jupiter.api.Nested;
2527
import org.junit.jupiter.api.Test;
@@ -151,4 +153,33 @@ void isOtherSucceedsIfTheKindIsOther() {
151153
.isSameAs(assertions);
152154
}
153155
}
156+
157+
@DisplayName("JavaFileObjectKindAssert#extension tests")
158+
@Nested
159+
class ExtensionTest {
160+
@DisplayName(".extension() fails if the kind is null")
161+
@Test
162+
@SuppressWarnings("ResultOfMethodCallIgnored")
163+
void extensionFailsIfKindIsNull() {
164+
// Given
165+
var assertions = new JavaFileObjectKindAssert(null);
166+
167+
// Then
168+
assertThatThrownBy(assertions::extension)
169+
.isInstanceOf(AssertionError.class);
170+
}
171+
172+
@DisplayName(".extension() returns assertions on the extension")
173+
@EnumSource(JavaFileObject.Kind.class)
174+
@ParameterizedTest(name = "for {0}")
175+
void extensionReturnsAssertionsOnExtension(Kind kind) {
176+
// Given
177+
var assertions = new JavaFileObjectKindAssert(kind);
178+
179+
// Then
180+
assertThat(assertions.extension())
181+
.isInstanceOf(AbstractStringAssert.class)
182+
.satisfies(extensionAssertion -> extensionAssertion.isEqualTo(kind.extension));
183+
}
184+
}
154185
}

0 commit comments

Comments
 (0)