/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.object; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; import org.junit.Before; import org.junit.Test; import com.mysema.rdfbean.annotations.ClassMapping; import com.mysema.rdfbean.annotations.Id; import com.mysema.rdfbean.annotations.Mixin; import com.mysema.rdfbean.model.ID; import com.mysema.rdfbean.model.IDType; import com.mysema.rdfbean.model.LID; public class MixinTest { @ClassMapping public static final class AType { @Mixin BType asBType; @Id(IDType.LOCAL) LID id; } @ClassMapping public static final class BType { @Mixin AType asAType; @Id(IDType.LOCAL) LID id; } private Session session; private ID id; @Before public void setUp() { session = SessionUtil.openSession(AType.class, BType.class); id = session.save(new AType()); session.flush(); session.clear(); } @Test public void SelfReferenceTest() { AType atype = session.get(AType.class, id); assertNotNull(atype); assertEquals(session.getLID(id), atype.id); assertNotNull(atype.asBType); assertEquals(session.getLID(id), atype.asBType.id); } }