1 21 package com.db4o.db4ounit.common.querying; 22 23 import com.db4o.config.*; 24 25 import db4ounit.*; 26 import db4ounit.extensions.*; 27 28 public class CascadeDeleteArray extends AbstractDb4oTestCase { 29 30 public static class ArrayElem { 31 32 public String name; 33 34 public ArrayElem(String name){ 35 this.name = name; 36 } 37 } 38 39 public ArrayElem[] array; 40 41 protected void configure(Configuration config) { 42 config.objectClass(this).cascadeOnDelete(true); 43 } 44 45 protected void store() { 46 CascadeDeleteArray cda = new CascadeDeleteArray(); 47 cda.array = new ArrayElem[] { 48 new ArrayElem("one"), 49 new ArrayElem("two"), 50 new ArrayElem("three"), 51 }; 52 db().set(cda); 53 } 54 55 public void test(){ 56 57 CascadeDeleteArray cda = (CascadeDeleteArray)retrieveOnlyInstance(getClass()); 58 59 Assert.areEqual(3, countOccurences(ArrayElem.class)); 60 61 db().delete(cda); 62 63 Assert.areEqual(0, countOccurences(ArrayElem.class)); 64 65 db().rollback(); 66 67 Assert.areEqual(3, countOccurences(ArrayElem.class)); 68 69 db().delete(cda); 70 71 Assert.areEqual(0, countOccurences(ArrayElem.class)); 72 73 db().commit(); 74 75 Assert.areEqual(0, countOccurences(ArrayElem.class)); 76 } 77 } 78 | Popular Tags |