1 21 package com.db4o.db4ounit.jre11.events; 22 23 import com.db4o.events.*; 24 import com.db4o.query.Query; 25 26 import db4ounit.Assert; 27 import db4ounit.extensions.AbstractDb4oTestCase; 28 29 public class EventRegistryTestCase extends AbstractDb4oTestCase { 30 31 public void testForObjectContainerReturnsSameInstance() { 32 Assert.areSame( 33 EventRegistryFactory.forObjectContainer(db()), 34 EventRegistryFactory.forObjectContainer(db())); 35 } 36 37 public void testQueryEvents() { 38 39 EventRegistry registry = EventRegistryFactory.forObjectContainer(db()); 40 41 EventRecorder recorder = new EventRecorder(); 42 43 registry.queryStarted().addListener(recorder); 44 registry.queryFinished().addListener(recorder); 45 46 Query q = db().query(); 47 Assert.areEqual(0, recorder.size()); 48 q.execute(); 49 Assert.areEqual(2, recorder.size()); 50 EventRecord e1 = recorder.get(0); 51 Assert.areSame(registry.queryStarted(), e1.e); 52 Assert.areSame(q, ((QueryEventArgs)e1.args).query()); 53 54 EventRecord e2 = recorder.get(1); 55 Assert.areSame(registry.queryFinished(), e2.e); 56 Assert.areSame(q, ((QueryEventArgs)e2.args).query()); 57 58 recorder.clear(); 59 60 registry.queryStarted().removeListener(recorder); 61 registry.queryFinished().removeListener(recorder); 62 63 db().query().execute(); 64 65 Assert.areEqual(0, recorder.size()); 66 } 67 } 68 | Popular Tags |