Skip to content

Commit 3303c41

Browse files
committed
Add builder unit tests
1 parent eabb8bd commit 3303c41

File tree

1 file changed

+63
-1
lines changed
  • cdtp-definition-builder/src/test/java/com/github/kklisura/cdtp/definition/builder/support/protocol/builder

1 file changed

+63
-1
lines changed

cdtp-definition-builder/src/test/java/com/github/kklisura/cdtp/definition/builder/support/protocol/builder/CommandBuilderTest.java

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.github.kklisura.cdtp.definition.builder.protocol.types.Command;
44
import com.github.kklisura.cdtp.definition.builder.protocol.types.Domain;
5+
import com.github.kklisura.cdtp.definition.builder.protocol.types.Event;
56
import com.github.kklisura.cdtp.definition.builder.protocol.types.type.object.ObjectType;
67
import com.github.kklisura.cdtp.definition.builder.protocol.types.type.object.Property;
78
import com.github.kklisura.cdtp.definition.builder.protocol.types.type.object.properties.ArrayProperty;
@@ -332,7 +333,7 @@ public void testBuildCommandWithMethodWithComplexReturnParams() {
332333
numberParam.setExperimental(Boolean.TRUE);
333334

334335
command.setReturns(Arrays.asList(stringParam, numberParam));
335-
domain.setCommands(Arrays.asList(command));
336+
domain.setCommands(Collections.singletonList(command));
336337

337338
expect(javaBuilderFactory.createClassBuilder(TYPE_PACKAGE_NAME + ".domainname", "CommandSomeResult"))
338339
.andReturn(javaClassBuilder);
@@ -371,6 +372,67 @@ public void testBuildCommandWithMethodWithComplexReturnParams() {
371372
assertTrue(methodParamCapture.getValue().isEmpty());
372373
}
373374

375+
@Test
376+
public void testBuildCommandWithEvents() {
377+
final Domain domain = new Domain();
378+
domain.setDomain("domainName");
379+
domain.setDescription("Description");
380+
381+
final Event event = new Event();
382+
event.setName("someEvent");
383+
event.setDescription("event description");
384+
385+
final Event event1 = new Event();
386+
event1.setName("someEvent1");
387+
event1.setDescription("event description");
388+
event1.setDeprecated(Boolean.TRUE);
389+
event1.setExperimental(Boolean.TRUE);
390+
391+
domain.setEvents(Arrays.asList(event, event1));
392+
393+
expect(javaBuilderFactory.createInterfaceBuilder(BASE_PACKAGE_NAME, "DomainName"))
394+
.andReturn(interfaceBuilder);
395+
interfaceBuilder.setJavaDoc("Description");
396+
397+
interfaceBuilder.addImport("com.github.kklisura.support.types", "EventListener");
398+
interfaceBuilder.addImport("com.github.kklisura.support.types", "EventHandler");
399+
interfaceBuilder.addImport("com.github.kklisura.events.domainname", "SomeEvent");
400+
401+
interfaceBuilder.addImport("com.github.kklisura.support.types", "EventListener");
402+
interfaceBuilder.addImport("com.github.kklisura.support.types", "EventHandler");
403+
interfaceBuilder.addImport("com.github.kklisura.events.domainname", "SomeEvent1");
404+
405+
Capture<List<MethodParam>> methodParamCapture = Capture.newInstance();
406+
interfaceBuilder.addMethod(eq("onSomeEvent"), eq("event description"), capture(methodParamCapture), eq("EventListener"));
407+
408+
Capture<List<MethodParam>> methodParamCapture1 = Capture.newInstance();
409+
interfaceBuilder.addMethod(eq("onSomeEvent1"), eq("event description"), capture(methodParamCapture1), eq("EventListener"));
410+
411+
interfaceBuilder.addParametrizedMethodAnnotation("onSomeEvent", "EventName", "someEvent");
412+
interfaceBuilder.addParametrizedMethodAnnotation("onSomeEvent1", "EventName", "someEvent1");
413+
414+
interfaceBuilder.addMethodAnnotation("onSomeEvent1", "Deprecated");
415+
interfaceBuilder.addMethodAnnotation("onSomeEvent1", "Experimental");
416+
417+
replayAll();
418+
419+
Builder build = commandBuilder.build(domain, resolver);
420+
421+
verifyAll();
422+
423+
assertEquals(interfaceBuilder, build);
424+
425+
List<MethodParam> value = methodParamCapture.getValue();
426+
assertEquals(1, value.size());
427+
assertEquals("eventListener", value.get(0).getName());
428+
assertEquals("EventHandler<SomeEvent>", value.get(0).getType());
429+
430+
List<MethodParam> value1 = methodParamCapture1.getValue();
431+
assertEquals(1, value1.size());
432+
assertEquals("eventListener", value1.get(0).getName());
433+
assertEquals("EventHandler<SomeEvent1>", value1.get(0).getType());
434+
}
435+
374436
private <T extends Property> T createProperty(Class<T> clazz, String name)
375437
throws IllegalAccessException, InstantiationException {
376438
T property = clazz.newInstance();

0 commit comments

Comments
 (0)