@Test public void testBlueprintConstructorOnlyTriggeredOncePerCreateModelInvocation() throws Exception { Erector erector = mock(Erector.class); modelFactory.getErectors().put(Car.class, erector); modelFactory.createModel(Car.class); verify(erector, times(1)).createNewInstance(); } }
@Test public void customTemplate() throws RegisterBlueprintException, CreateModelException { assertEquals( CustomTemplate.class, modelFactory.getErectors().get( Wheel.class ).getTemplate().getClass() ); } }
@Test public void testBlueprintWithPrimitive() throws CreateModelException, BlueprintTemplateException { Car car = modelFactory.createModel(Car.class); Erector erector = modelFactory.getErectors().get(Car.class); ModelField modelField = erector.getModelField("mileage"); assertEquals(new Float(100.1), modelField.getValue()); // Val is zero because primitive initializes as zero Object val = erector.getTemplate().get(new Car(), "mileage"); assertEquals(new Float(0.0), val); // Val is zero because primitive initializes as zero assertEquals(0.0, car.getMileage(), 0); } }