package jef.model; import jef.DbSet; import jef.model.annotations.Clazz; import jef.model.annotations.Id; import jef.serializable.SerializableObject; import lombok.Getter; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class DbContextSimpleTest { @Test public void test() { var mb = ModelBuilder.from(Ctx.class); assertEquals(1, mb.getEntities().size()); assertEquals("objects1", mb.getEntity(TestClass.class).getName()); assertEquals(5, mb.getEntity(TestClass.class).getFields().size()); assertEquals(1, mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("i")).count()); assertEquals(1, mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("d")).count()); assertEquals(1, mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("f")).count()); assertEquals(1, mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("l")).count()); assertEquals(1, mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("o")).count()); //intrinsic non null assertEquals(5, mb.getEntity(TestClass.class).getFields().size()); assertTrue(mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("i")).findFirst().get().isNotNull()); assertTrue(mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("d")).findFirst().get().isNotNull()); assertTrue(mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("f")).findFirst().get().isNotNull()); assertTrue(mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("l")).findFirst().get().isNotNull()); assertFalse(mb.getEntity(TestClass.class).getFields().stream().filter(e -> e.getName().equals("o")).findFirst().get().isNotNull()); } public static class Ctx extends DbContext { @Clazz(clazz = TestClass.class) private DbSet objects1; } @Getter public static class TestClass extends SerializableObject { @Id public int i = 1; public Object o = new Object(); public double d; public float f; public long l; } }