diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/com/amazon/carbonado/TestStorables.java | 71 | ||||
| -rw-r--r-- | src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java | 10 |
2 files changed, 81 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java index 7c5b2b0..a78f6dd 100644 --- a/src/test/java/com/amazon/carbonado/TestStorables.java +++ b/src/test/java/com/amazon/carbonado/TestStorables.java @@ -1867,6 +1867,34 @@ public class TestStorables extends TestCase { assertTrue(storage.removeTrigger(it)); + + class LoadTrigger extends Trigger<StorableVersioned> { + boolean mCalled; + + @Override + public void afterLoad(StorableVersioned s) { + assertEquals(1, s.getID()); + mCalled = true; + } + }; + + LoadTrigger lt = new LoadTrigger(); + + assertTrue(storage.addTrigger(lt)); + + s.load(); + + assertTrue(lt.mCalled); + + // Reset for query. + lt.mCalled = false; + storage.query("value = ?").with("value").fetch().toList(); + + assertTrue(lt.mCalled); + + assertTrue(storage.removeTrigger(lt)); + + class UpdateTrigger extends Trigger<StorableVersioned> { Object mState; int mVersion; @@ -1898,6 +1926,7 @@ public class TestStorables extends TestCase { assertTrue(storage.removeTrigger(ut)); + class DeleteTrigger extends Trigger<StorableVersioned> { Object mState; @@ -2081,6 +2110,38 @@ public class TestStorables extends TestCase { assertTrue(st.getModifyDateTime().getMillis() >= dt.getMillis() + 450); } + public void test_triggerLoadByAltKey() throws Exception { + Storage<StorableTestBasicCompoundIndexed> storage = + getRepository().storageFor(StorableTestBasicCompoundIndexed.class); + + class LoadTrigger extends Trigger<StorableTestBasicCompoundIndexed> { + int mCallCount; + StorableTestBasicCompoundIndexed mStorable; + + @Override + public void afterLoad(StorableTestBasicCompoundIndexed s) { + mCallCount++; + mStorable = s; + } + }; + + LoadTrigger lt = new LoadTrigger(); + + assertTrue(storage.addTrigger(lt)); + + StorableTestBasicCompoundIndexed s = storage.prepare(); + s.initPropertiesRandomly(1234); + s.insert(); + + StorableTestBasicCompoundIndexed s2 = storage.prepare(); + s2.setStringProp(s.getStringProp()); + s2.setDoubleProp(s.getDoubleProp()); + s2.load(); + + assertEquals(1, lt.mCallCount); + assertTrue(s2 == lt.mStorable); + } + public void test_hashCode() throws Exception { Storage<StorableTestBasic> storage = getRepository().storageFor(StorableTestBasic.class); @@ -3109,6 +3170,16 @@ public class TestStorables extends TestCase { public Trigger getDeleteTrigger() { return null; } + + public Trigger getLoadTrigger() { + return null; + } + + public void locallyDisableLoadTrigger() { + } + + public void locallyEnableLoadTrigger() { + } } } diff --git a/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java b/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java index c378dca..34c33a5 100644 --- a/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java +++ b/src/test/java/com/amazon/carbonado/repo/toy/ToyStorage.java @@ -236,6 +236,16 @@ public class ToyStorage<S extends Storable> return null;
}
+ public Trigger<? super S> getLoadTrigger() {
+ return null;
+ }
+
+ public void locallyDisableLoadTrigger() {
+ }
+
+ public void locallyEnableLoadTrigger() {
+ }
+
public SequenceValueProducer getSequenceValueProducer(String name) throws PersistException {
try {
return mRepo.getSequenceValueProducer(name);
|
