package net.eusashead.bjugquerydsl.hateoas; import net.eusashead.bjugquerydsl.data.entity.Basket; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class JpaEntityResourceMetadataExtractorTest { JpaEntityResourceMetadataExtractor xtrctr; @Before public void before() { xtrctr= new JpaEntityResourceMetadataExtractor(); } @Test public void testExtractEntityMetadata() throws Exception { ResourceMetadata meta = xtrctr.extract(Basket.class); Assert.assertNotNull(meta); Assert.assertEquals(Integer.valueOf(1), Integer.valueOf(meta.getIdentityProperties().size())); Assert.assertEquals(Integer.valueOf(2), Integer.valueOf(meta.getEmbeddedResources().size())); Assert.assertEquals(Integer.valueOf(0), Integer.valueOf(meta.getSimpleProperties().size())); } @Test public void testCanExtract() throws Exception { Assert.assertTrue(xtrctr.canExtract(Basket.class)); Assert.assertFalse(xtrctr.canExtract(Object.class)); } @Test(expected=RuntimeException.class) public void testNotAnnotated() throws Exception { xtrctr.extract(Object.class); } }