package org.jrebirth.af.core.ui.model; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import org.jrebirth.af.core.test.AbstractTest; import org.jrebirth.af.core.ui.AbstractModel; import org.jrebirth.af.core.ui.object.AbstractObjectModel; import org.junit.After; import org.junit.Before; /** * The class <strong>FxmlTest</strong>. * * @author Sébastien Bordes */ public abstract class AbstractModelTest extends AbstractTest { /** * TODO To complete. * * @throws java.lang.Exception */ @Before public void setUp() throws Exception { } /** * TODO To complete. */ protected <M extends AbstractModel> void basicModel(final Class<M> modelClass) { final M msm1 = globalFacade.getUiFacade().retrieve(modelClass); final M msm1bis = globalFacade.getUiFacade().retrieve(modelClass); final M msm2 = globalFacade.getUiFacade().retrieve(modelClass, "keypart"); final M msm2bis = globalFacade.getUiFacade().retrieve(modelClass, "keypart"); final M msm3 = globalFacade.getUiFacade().retrieve(modelClass, "key", "part", 18); final M msm3bis = globalFacade.getUiFacade().retrieve(modelClass, "key", "part", 18); final M msm4 = globalFacade.getUiFacade().retrieve(modelClass, "key", new ModelBean("bean")); final M msm4bis = globalFacade.getUiFacade().retrieve(modelClass, "key", new ModelBean("bean")); final ModelBean bean5 = new ModelBean("bean5"); final M msm5 = globalFacade.getUiFacade().retrieve(modelClass, bean5); final M msm5bis = globalFacade.getUiFacade().retrieve(modelClass, new ModelBean("bean5")); final M msm6 = globalFacade.getUiFacade().retrieve(modelClass, new ModelBean2("bean", 1)); final M msm7 = globalFacade.getUiFacade().retrieve(modelClass, new ModelBean2("bean", 2)); assertSame(msm1, msm1bis); assertNotSame(msm1, msm2); assertEquals(msm1.getFirstKeyPart(), modelClass); assertSame(msm2, msm2bis); assertNotSame(msm2, msm3); assertEquals(msm2.getFirstKeyPart(), "keypart"); assertSame(msm3, msm3bis); assertNotSame(msm3, msm4); assertEquals(msm3.getFirstKeyPart(), "key"); assertEquals(msm3.getListKeyPart().get(0), "key"); assertEquals(msm3.getListKeyPart().get(1), "part"); assertEquals(msm3.getListKeyPart().get(2), 18); assertSame(msm4, msm4bis); assertNotSame(msm4, msm5); assertEquals(msm4.getFirstKeyPart(), "key"); assertEquals(msm4.getListKeyPart().get(0), "key"); assertEquals(msm4.getListKeyPart().get(1), msm4bis.getListKeyPart().get(1)); assertEquals(((ModelBean) msm4.getListKeyPart().get(1)).getName(), "bean"); assertSame(msm5, msm5bis); assertNotSame(msm5, msm1); assertEquals(msm5.getFirstKeyPart(), bean5); assertEquals(msm5.getListKeyPart().get(0), bean5); assertEquals(msm5.getFirstKeyPart(), msm5bis.getFirstKeyPart()); assertEquals(((ModelBean) msm5.getListKeyPart().get(0)).getName(), "bean5"); assertNotSame(msm6, msm7); if (msm6 instanceof AbstractObjectModel) { assertNull(((AbstractObjectModel) msm6).getObject()); } if (msm7 instanceof AbstractObjectModel) { assertNull(((AbstractObjectModel) msm7).getObject()); } assertNotSame(msm6.getFirstKeyPart(), msm7.getFirstKeyPart()); assertNotSame(msm6.getListKeyPart().get(0), msm7.getListKeyPart().get(0)); } /** * TODO To complete. */ protected <M extends AbstractObjectModel, M2 extends AbstractObjectModel> void objectModel(final Class<M> modelClass, final Class<M2> modelClass2) { final M msom1 = globalFacade.getUiFacade().retrieve(modelClass); final M msom1bis = globalFacade.getUiFacade().retrieve(modelClass); final M msom2 = globalFacade.getUiFacade().retrieve(modelClass, "keypart"); final M msom2bis = globalFacade.getUiFacade().retrieve(modelClass, "keypart"); final M msom3 = globalFacade.getUiFacade().retrieve(modelClass, "key", "part", 18); final M msom3bis = globalFacade.getUiFacade().retrieve(modelClass, "key", "part", 18); final M msom4 = globalFacade.getUiFacade().retrieve(modelClass, "key", new ModelBean("bean")); final M msom4bis = globalFacade.getUiFacade().retrieve(modelClass, "key", new ModelBean("bean")); final ModelBean bean5 = new ModelBean("bean5"); final M msom5 = globalFacade.getUiFacade().retrieve(modelClass, bean5); final M msom5bis = globalFacade.getUiFacade().retrieve(modelClass, new ModelBean("bean5")); final M msom5ter = globalFacade.getUiFacade().retrieve(modelClass, new ModelBean("beanTER")); final M2 msom6 = globalFacade.getUiFacade().retrieve(modelClass2, new ModelBean2("bean", 1)); final M2 msom7 = globalFacade.getUiFacade().retrieve(modelClass2, new ModelBean2("bean", 2)); assertSame(msom1, msom1bis); assertNotSame(msom1, msom2); assertEquals(msom1.getFirstKeyPart(), modelClass); assertNotNull(msom1.getObject()); assertSame(msom2, msom2bis); assertNotSame(msom2, msom3); assertEquals(msom2.getFirstKeyPart(), "keypart"); assertSame(msom3, msom3bis); assertNotSame(msom3, msom4); assertEquals(msom3.getFirstKeyPart(), "key"); assertEquals(msom3.getListKeyPart().get(0), "key"); assertEquals(msom3.getListKeyPart().get(1), "part"); assertEquals(msom3.getListKeyPart().get(2), 18); assertSame(msom4, msom4bis); assertNotSame(msom4, msom5); assertEquals(msom4.getFirstKeyPart(), "key"); assertEquals(msom4.getListKeyPart().get(0), "key"); assertEquals(msom4.getListKeyPart().get(1), msom4bis.getListKeyPart().get(1)); assertEquals(((ModelBean) msom4.getObject()).getName(), "bean"); assertSame(msom5, msom5bis); assertNotSame(msom5, msom1); assertSame(msom5.getObject(), msom5bis.getObject()); assertNotSame(msom5bis, msom5ter); assertNotSame(msom5bis.getObject(), msom5ter.getObject()); assertEquals(msom5.getFirstKeyPart(), bean5); assertEquals(msom5.getListKeyPart().get(0), bean5); assertEquals(msom5.getFirstKeyPart(), msom5bis.getFirstKeyPart()); assertEquals(((ModelBean) msom5.getObject()).getName(), "bean5"); assertNotSame(msom6, msom7); assertNotSame(msom6.getObject(), msom7.getObject()); assertNotSame(msom6.getFirstKeyPart(), msom7.getFirstKeyPart()); assertNotSame(msom6.getListKeyPart().get(0), msom7.getListKeyPart().get(0)); } /** * TODO To complete. * * @throws java.lang.Exception */ @After public void tearDown() throws Exception { } }