001: package org.columba.core.associations;
002:
003: import junit.framework.TestCase;
004:
005: import org.columba.core.association.AssociationStore;
006:
007: public class AssociationStoreCases extends TestCase {
008:
009: AssociationStore store;
010:
011: protected void setUp() throws Exception {
012: store = AssociationStore.getInstance();
013: }
014:
015: protected void tearDown() throws Exception {
016: //store.shutdown();
017: }
018:
019: public void testAddAssociation() {
020: store.addAssociation("serviceId1", "metaDataId1", "itemId1");
021: if ((store.getAssociatedItems("serviceId1", "metaDataId1") != null)
022: && (store.getAssociatedItems("serviceId1",
023: "metaDataId1").size() == 1)
024: && ((String) (store.getAssociatedItems("serviceId1",
025: "metaDataId1").toArray()[0])).equals("itemId1"))
026: System.out.println("Correct value 'itemId1' found");
027: else
028: fail("Associated item not found "
029: + store.getAssociatedItems("serviceId1",
030: "metaDataId1").size());
031: /*
032: * for (IAssociation association: store.getAllAssociations("itemId1")) {
033: * System.out.println(association.getItemId() +
034: * association.getMetaDataId() + association.getServiceId()); }
035: */
036: store.removeAssociation("serviceId1", "metaDataId1", "itemId1");
037: }
038:
039: public void testGetAllAssociations() {
040: store.addAssociation("serviceId1", "metaDataId1", "itemId1");
041: if ((store.getAllAssociations("itemId1") != null)
042: && (store.getAllAssociations("itemId1").size() == 1))
043: System.out.println("'itemId1' found 1 time");
044: else
045: fail("Associated item not found "
046: + store.getAssociatedItems("serviceId1",
047: "metaDataId1").size());
048: store.removeAssociation("serviceId1", "metaDataId1", "itemId1");
049: }
050:
051: public void testGetAssociatedItems() {
052: store.addAssociation("serviceId1", "metaDataId1", "itemId1");
053: if ((store.getAssociatedItems("serviceId1", "metaDataId1") != null)
054: && (store.getAssociatedItems("serviceId1",
055: "metaDataId1").size() == 1)
056: && ((String) (store.getAssociatedItems("serviceId1",
057: "metaDataId1").toArray()[0])).equals("itemId1"))
058: System.out.println("Correct value 'itemId1' found");
059: else
060: fail("Associated item not found "
061: + store.getAssociatedItems("serviceId1",
062: "metaDataId1").size());
063: store.removeAssociation("serviceId1", "metaDataId1", "itemId1");
064: }
065:
066: public void testInit() {
067: store.init();
068: if (store.isReady()) {
069: System.out.println("Store is ready");
070: } else {
071: fail("Store is not ready");
072: }
073: System.out.println(store.getAllAssociations("itemId1").size());
074: System.out.println(store.getAllAssociations("itemId2").size());
075:
076: }
077:
078: public void testIsReady() {
079: /*
080: * does not work after the singleton instantiation! if (store.isReady() ==
081: * false) System.out.println("Store is not ready (thats correct)!");
082: * else fail("Store is ready, should not be before init!");
083: */
084: store.init();
085: if (store.isReady())
086: System.out.println("Store is ready!");
087: else
088: fail("Store is not ready, should be after init!");
089: }
090:
091: public void testRemoveAssociation() {
092: store.addAssociation("serviceId1", "metaDataId1", "itemId1");
093: store.addAssociation("serviceId1", "metaDataId1", "itemId2");
094: if ((store.getAssociatedItems("serviceId1", "metaDataId1") != null)
095: && (store.getAssociatedItems("serviceId1",
096: "metaDataId1").size() == 2))
097: System.out.println("Associated item size correct!");
098: else
099: fail("Associated item size not correct, "
100: + store.getAssociatedItems("serviceId1",
101: "metaDataId1").size() + " should be 2");
102: store.removeAssociation("serviceId1", "metaDataId1", "itemId1");
103: if (store.getAssociatedItems("serviceId1", "metaDataId1")
104: .size() == 1)
105: System.out.println("Associated item size correct!");
106: else
107: fail("Associated item size not correct, "
108: + store.getAssociatedItems("serviceId1",
109: "metaDataId1").size() + " should be 1");
110: store.removeAssociation("serviceId1", "metaDataId1", "itemId2");
111: if (store.getAssociatedItems("serviceId1", "metaDataId1")
112: .size() == 0)
113: System.out.println("Associated item size correct!");
114: else
115: fail("Associated item size not correct, "
116: + store.getAssociatedItems("serviceId1",
117: "metaDataId1").size() + " should be 0");
118: }
119:
120: public void testRemoveItem() {
121: store.addAssociation("serviceId1", "metaDataId1", "itemId1");
122: store.addAssociation("serviceId1", "metaDataId2", "itemId2");
123: store.addAssociation("serviceId1", "metaDataId1", "itemId2");
124: if ((store.getAssociatedItems("serviceId1", "metaDataId1") != null)
125: && (store.getAssociatedItems("serviceId1",
126: "metaDataId1").size() == 2))
127: System.out.println("Associated item size correct!");
128: else
129: fail("Associated item size not correct, "
130: + store.getAssociatedItems("serviceId1",
131: "metaDataId1").size() + " should be 2");
132: store.removeItem("itemId1");
133: if (store.getAssociatedItems("serviceId1", "metaDataId1")
134: .size() == 1)
135: System.out.println("Associated item size correct!");
136: else
137: fail("Associated item size not correct, "
138: + store.getAssociatedItems("serviceId1",
139: "metaDataId1").size() + " should be 1");
140: if (store.getAllAssociations("itemId2").size() == 2)
141: System.out.println("Associated item size correct!");
142: else
143: fail("Associated item size not correct, "
144: + store.getAllAssociations("itemId2").size()
145: + " should be 2");
146: store.removeItem("itemId2");
147: if (store.getAssociatedItems("serviceId1", "metaDataId1")
148: .size() == 0)
149: System.out.println("Associated item size correct!");
150: else
151: fail("Associated item size not correct, "
152: + store.getAssociatedItems("serviceId1",
153: "metaDataId1").size() + " should be 0");
154: }
155:
156: public void testShutdown() {
157: if (store.isReady() == false)
158: store.init();
159: System.out.println(store.isReady());
160: store.shutdown();
161: }
162:
163: public void testGetInstance() {
164: if (store == null)
165: fail("store instance is null");
166: }
167:
168: }
|