Skip to content
Original file line number Diff line number Diff line change
@@ -1,42 +1,37 @@
package io.quarkiverse.openapi.generator.it;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;

import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.stream.Stream;

import org.acme.non.equals.hashcode.model.Animal;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.api.Test;

import io.quarkus.test.junit.QuarkusTest;

@QuarkusTest
class VerifyGenerationTest {

@ParameterizedTest
@MethodSource("provideStringsForIsBlank")
void verify(Class<?> clazz, String methodName, Class<?> expectedDeclaringClass) {
var equalsMethod = getMethod(clazz, methodName);
@Test
void verifyThatGeneratedModelDoesntHaveMethods() {
var equalsMethod = getMethod(org.acme.equals.hashcode.model.Animal.class, "equals");
var hashCodeMethod = getMethod(org.acme.equals.hashcode.model.Animal.class, "hashCode");

Class<?> declaringClass = equalsMethod.getDeclaringClass();

assertEquals(declaringClass, expectedDeclaringClass);
assertEquals(equalsMethod.getDeclaringClass(), org.acme.equals.hashcode.model.Animal.class);
assertEquals(hashCodeMethod.getDeclaringClass(), org.acme.equals.hashcode.model.Animal.class);
}

private static Stream<Arguments> provideStringsForIsBlank() {
return Stream.of(
Arguments.of(Animal.class, "equals", Object.class),
Arguments.of(Animal.class, "hashCode", Object.class),
Arguments.of(org.acme.equals.hashcode.model.Animal.class, "equals",
org.acme.equals.hashcode.model.Animal.class),
Arguments.of(org.acme.equals.hashcode.model.Animal.class, "hashCode",
org.acme.equals.hashcode.model.Animal.class));
@Test
void verifyThatGeneratedModelDoesHaveMethods() {
var equalsMethod = getMethod(org.acme.non.equals.hashcode.model.Animal.class, "equals");
var hashCodeMethod = getMethod(org.acme.non.equals.hashcode.model.Animal.class, "hashCode");

assertNotEquals(equalsMethod.getDeclaringClass(), org.acme.equals.hashcode.model.Animal.class);
assertNotEquals(hashCodeMethod.getDeclaringClass(), org.acme.equals.hashcode.model.Animal.class);
}

public static Method getMethod(Class<?> clazz, String methodName) {
private static Method getMethod(Class<?> clazz, String methodName) {
var methods = clazz.getMethods();

return Arrays.stream(methods)
Expand Down
Loading