strangedb/src/test/java/it/cavallium/strangedb/tests/Clean.java

90 lines
2.4 KiB
Java
Raw Normal View History

2019-03-07 11:41:45 +01:00
package it.cavallium.strangedb.tests;
2019-03-06 23:56:04 +01:00
2019-04-18 16:08:22 +02:00
import it.cavallium.strangedb.java.annotations.*;
2019-03-06 23:56:04 +01:00
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
2019-03-07 16:20:34 +01:00
import it.cavallium.strangedb.java.objects.EnhancedObject;
import it.cavallium.strangedb.java.database.IDatabaseTools;
2019-03-07 11:41:45 +01:00
import it.cavallium.strangedb.utils.NTestUtils;
2019-03-06 23:56:04 +01:00
import java.io.IOException;
public class Clean {
private NTestUtils.WrappedDb db;
private RootTwoClasses root;
@Before
public void setUp() throws Exception {
db = NTestUtils.wrapDb().create((db) -> {
2019-04-18 16:08:22 +02:00
root = db.get().loadRoot(RootTwoClasses::new);
2019-03-06 23:56:04 +01:00
});
root.class1 = new NTestUtils.RootClass(db.get());
db.setRootClassValues(root.class1);
root.class2 = new NTestUtils.RootClass(db.get());
db.setRootClassValues(root.class2);
root.setClass3(new NTestUtils.RootClass(db.get()));
db.setRootClassValues(root.getClass3());
root.setClass4(new NTestUtils.RootClass(db.get()));
db.setRootClassValues(root.getClass4());
}
@Test
public void shouldMatchMultipleEnhancedObjects() throws IOException {
db.testRootClassValues(root.class1);
db.testRootClassValues(root.class2);
db.testRootClassValues(root.getClass3());
db.testRootClassValues(root.getClass4());
db.get().closeAndClean();
db = NTestUtils.wrapDb().create((db) -> {
2019-04-18 16:08:22 +02:00
root = db.get().loadRoot(RootTwoClasses::new);
2019-03-06 23:56:04 +01:00
});
}
@After
public void tearDown() throws Exception {
db.delete();
}
public static class RootTwoClasses extends EnhancedObject {
2019-03-07 11:41:45 +01:00
@DbField(id = 0, type = DbDataType.ENHANCED_OBJECT)
2019-03-06 23:56:04 +01:00
public NTestUtils.RootClass class1;
2019-03-07 11:41:45 +01:00
@DbField(id = 1, type = DbDataType.ENHANCED_OBJECT)
2019-03-06 23:56:04 +01:00
public NTestUtils.RootClass class2;
public RootTwoClasses() {
super();
}
public RootTwoClasses(IDatabaseTools databaseTools) throws IOException {
super(databaseTools);
}
2019-04-18 16:08:22 +02:00
@DbProperty(id = 0, type = DbDataType.ENHANCED_OBJECT)
@DbPropertyGetter
2019-03-06 23:56:04 +01:00
public NTestUtils.RootClass getClass3() {
return getProperty();
}
2019-04-18 16:08:22 +02:00
@DbProperty(id = 0, type = DbDataType.ENHANCED_OBJECT)
@DbPropertySetter
2019-03-06 23:56:04 +01:00
public void setClass3(NTestUtils.RootClass value) {
setProperty(value);
}
2019-04-18 16:08:22 +02:00
@DbProperty(id = 1, type = DbDataType.ENHANCED_OBJECT)
@DbPropertyGetter
2019-03-06 23:56:04 +01:00
public NTestUtils.RootClass getClass4() {
return getProperty();
}
2019-04-18 16:08:22 +02:00
@DbProperty(id = 1, type = DbDataType.ENHANCED_OBJECT)
@DbPropertySetter
2019-03-06 23:56:04 +01:00
public void setClass4(NTestUtils.RootClass value) {
setProperty(value);
}
}
}