복잡한 객체 생성하기
Fixture Monkey는 직접 생성하기 어려운 복잡한 객체도 테스트 픽스처로 쉽게 생성할 수 있습니다.
이 페이지는 생성할 수 있는 다양한 타입의 객체를 보여줍니다.
Java
Generic Objects
@Value
public static class GenericObject<T> {
T foo;
}
@Value
public static class GenericArrayObject<T> {
GenericObject<T>[] foo;
}
@Value
public static class TwoGenericObject<T, U> {
T foo;
U bar;
}
@Value
public static class ThreeGenericObject<T, U, V> {
T foo;
U bar;
V baz;
}
Generic Interfaces
public interface GenericInterface<T> {
}
@Value
public static class GenericInterfaceImpl<T> implements GenericInterface<T> {
T foo;
}
public interface TwoGenericInterface<T, U> {
}
@Value
public static class TwoGenericImpl<T, U> implements TwoGenericInterface<T, U> {
T foo;
U bar;
}
SelfReference
@Value
public class SelfReference {
String foo;
SelfReference bar;
}
@Value
public class SelfReferenceList {
String foo;
List<SelfReferenceList> bar;
}
Interface
public interface Interface {
String foo();
Integer bar();
}
public interface InheritedInterface extends Interface {
String foo();
}
public interface InheritedInterfaceWithSameNameMethod extends Interface {
String foo();
}
public interface ContainerInterface {
List<String> baz();
Map<String, Integer> qux();
}
public interface InheritedTwoInterface extends Interface, ContainerInterface {
}
Kotlin
Generic Objects
class Generic<T>(val foo: T)
class GenericImpl(val foo: Generic<String>)
SelfReference
class SelfReference(val foo: String, val bar: SelfReference?)
Sealed class, Value class
sealed class SealedClass
object ObjectSealedClass : SealedClass()
class SealedClassImpl(val foo: String) : SealedClass()
@JvmInline
value class ValueClass(val foo: String)