Giter VIP home page Giter VIP logo

Comments (8)

esfomeado avatar esfomeado commented on June 5, 2024 2

@seongahjo I assumed that the interfaceImplements was only used to let Fixture Monkey know what concrete classes to generate based on that interface/abstract class and not as well to know what concrete class could be set.

I guess the documentation needs a small note saying that this is the case.

And please check the bug that I mentioned of having duplicate values when you get a chance.

I had to do a nasty workaround to make it work in the meantime.

Thanks for your support.

from fixture-monkey.

esfomeado avatar esfomeado commented on June 5, 2024 1

On my project adding the class to the interfaceImplements broken multiple tests.

They now complain about duplicates keys on the map.

Duplicate key attributes (attempted merging values [net.jqwik.engine.properties.arbitraries.ArbitraryMap@d62395c4](mailto:net.jqwik.engine.properties.arbitraries.ArbitraryMap@d62395c4) and [net.jqwik.engine.properties.arbitraries.ArbitraryMap@3c8e1a9a](mailto:net.jqwik.engine.properties.arbitraries.ArbitraryMap@3c8e1a9a))

java.lang.IllegalStateException: Duplicate key attributes (attempted merging values [net.jqwik.engine.properties.arbitraries.ArbitraryMap@d62395c4](mailto:net.jqwik.engine.properties.arbitraries.ArbitraryMap@d62395c4) and [net.jqwik.engine.properties.arbitraries.ArbitraryMap@3c8e1a9a](mailto:net.jqwik.engine.properties.arbitraries.ArbitraryMap@3c8e1a9a))

                at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:135)

                at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:182)

                at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)

                at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)

                at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)

                at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)

                at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

                at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

                at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

                at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)

                at com.navercorp.fixturemonkey.api.generator.ChildArbitraryContext.getArbitrariesByResolvedName(ChildArbitraryContext.java:71)

                at com.navercorp.fixturemonkey.api.introspector.FieldReflectionArbitraryIntrospector.introspect(FieldReflectionArbitraryIntrospector.java:56)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.ListIntrospector.introspect(ListIntrospector.java:62)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:42)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.FieldReflectionArbitraryIntrospector.introspect(FieldReflectionArbitraryIntrospector.java:55)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.ListIntrospector.introspect(ListIntrospector.java:62)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:42)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.FieldReflectionArbitraryIntrospector.introspect(FieldReflectionArbitraryIntrospector.java:55)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.ListIntrospector.introspect(ListIntrospector.java:62)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:42)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.FieldReflectionArbitraryIntrospector.introspect(FieldReflectionArbitraryIntrospector.java:55)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.ListIntrospector.introspect(ListIntrospector.java:62)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:42)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.FieldReflectionArbitraryIntrospector.introspect(FieldReflectionArbitraryIntrospector.java:55)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.ListIntrospector.introspect(ListIntrospector.java:62)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:42)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.lambda$generateContext$2(ArbitraryTree.java:135)

                at com.navercorp.fixturemonkey.api.generator.ArbitraryGeneratorContext.getChildrenArbitraryContexts(ArbitraryGeneratorContext.java:112)

                at com.navercorp.fixturemonkey.api.introspector.FieldReflectionArbitraryIntrospector.introspect(FieldReflectionArbitraryIntrospector.java:55)

                at com.navercorp.fixturemonkey.api.introspector.CompositeArbitraryIntrospector.introspect(CompositeArbitraryIntrospector.java:48)

                at com.navercorp.fixturemonkey.api.generator.DefaultArbitraryGenerator.generate(DefaultArbitraryGenerator.java:44)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generateArbitrary(ArbitraryTree.java:165)

                at com.navercorp.fixturemonkey.resolver.ArbitraryTree.generate(ArbitraryTree.java:83)

                at com.navercorp.fixturemonkey.resolver.ArbitraryResolver.resolve(ArbitraryResolver.java:102)

                at com.navercorp.fixturemonkey.builder.DefaultArbitraryBuilder.lambda$build$11(DefaultArbitraryBuilder.java:524)

                at com.navercorp.fixturemonkey.builder.ArbitraryValue$MonkeyRandomGenerator.getArbitrary(ArbitraryValue.java:142)

                at com.navercorp.fixturemonkey.builder.ArbitraryValue$MonkeyRandomGenerator.next(ArbitraryValue.java:94)

                at net.jqwik.engine.facades.SampleStreamFacade.lambda$sampleStream$2(SampleStreamFacade.java:68)

                at net.jqwik.engine.execution.lifecycle.CurrentTestDescriptor.runWithDescriptor(CurrentTestDescriptor.java:17)

                at net.jqwik.engine.facades.SampleStreamFacade.runInDescriptor(SampleStreamFacade.java:60)

                at net.jqwik.engine.facades.SampleStreamFacade.lambda$wrapInDescriptor$1(SampleStreamFacade.java:55)

                at java.base/java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef.tryAdvance(StreamSpliterators.java:1358)

                at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)

                at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)

                at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)

                at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

                at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)

                at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

                at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)

                at net.jqwik.api.Arbitrary.sample(Arbitrary.java:421)

                at com.navercorp.fixturemonkey.builder.DefaultArbitraryBuilder.sample(DefaultArbitraryBuilder.java:539)


                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                at java.base/java.lang.reflect.Method.invoke(Method.java:568)

                at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)

                at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)

                at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)

                at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)

                at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)

                at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)

                at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)

                at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)

                at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)

                at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)

                at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)

                at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)

                at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)

                at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)

                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)

                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)

                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

                at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

                at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

                at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

                at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

                at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

                at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

                at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

                at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

                at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)

                at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)

                at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)

                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)

                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)

                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)

                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)

                at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)

                at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)

                at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)

                at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)

                at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)

                at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)

                at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)

                at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)

                at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)

                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                at java.base/java.lang.reflect.Method.invoke(Method.java:568)

                at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)

                at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

                at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)

                at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)

                at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)

                at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)

                at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)

                at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)

                at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)

                at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)

                at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)

                at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)

                at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)

                at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)

I will try to replicate the issue and I will then update the tests.

from fixture-monkey.

esfomeado avatar esfomeado commented on June 5, 2024 1

@seongahjo It fixes the problem.

Thanks

from fixture-monkey.

seongahjo avatar seongahjo commented on June 5, 2024

@esfomeado
It would work when adding Mark.class in interfaceImplements options.
Just like below.

.interfaceImplements(AbstractAuthor.class, List.of(Mark.class, John.class, Peter.class))

from fixture-monkey.

esfomeado avatar esfomeado commented on June 5, 2024

@seongahjo Thanks it solves that issue but I feel that it's weird and unintuitive having to put the class on the interfaceImplements to be able to set a field.

from fixture-monkey.

esfomeado avatar esfomeado commented on June 5, 2024

Replication (duplicated-keys branch):

https://github.com/esfomeado/fixture-monkey-bug/blob/duplicated-keys/src/test/java/com/example/bug/FixtureMonkeyTest.java

from fixture-monkey.

seongahjo avatar seongahjo commented on June 5, 2024

@esfomeado

I feel that it's weird and unintuitive having to put the class on the interfaceImplements to be able to set a field.

interfaceImplements(AbstractAuthor.class, List.of(Mark.class, John.class, Peter.class))
interfaceImplements is letting Fixture Monkey know what abstract class would be implemented not just for setting a field.
In this case AbstractAuthor could be one of Mark, Jonh, Peter.

So Fixture Monkey makes field nodes for Mark, John, Peter.
Setting an input value to specific node representing by expression.

I think you feel it is weird because setting a field is not a concern of interfaceImplements, is it right?
Is a name of this option weird? Any better idea for this option?
Please take a comment for this 😁 We would reflect it.

from fixture-monkey.

seongahjo avatar seongahjo commented on June 5, 2024

@esfomeado
Could you try snapshot version?
Add dependency as below
com.navercorp.fixturemonkey.snapshot:fixture-monkey:0.4.11-c5d6ec6

You should add snapshot in group.

from fixture-monkey.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.