Source code: org/acs/damsel/srvr/collection/TestCollectionView.java
1 package org.acs.damsel.srvr.collection;
2
3 import junit.framework.*;
4 import org.acs.damsel.srvr.asset.*;
5 import java.util.*;
6
7 public class TestCollectionView
8 extends TestCase {
9 private CollectionView collectionView = null;
10
11 public TestCollectionView(String name) {
12 super(name);
13 }
14
15 protected void setUp() throws Exception {
16 super.setUp();
17 collectionView = new CollectionView();
18 }
19
20 /* Test the constructor */
21 public void testCreate() {
22 collectionView = new CollectionView();
23 this.assertNotNull(collectionView);
24 }
25
26 /* Test addAsset */
27 public void testAddAsset() {
28 /* Test that addAsset updates the size */
29 this.assertEquals(0, collectionView.size());
30 collectionView.addAsset(new Asset());
31 this.assertEquals(1, collectionView.size());
32 collectionView.addAsset(new Asset());
33 this.assertEquals(2, collectionView.size());
34
35 }
36
37 /* Test removeAsset */
38 public void testRemoveAsset() {
39 /* Test that removeAsset updates the size and returns true for valid
40 Assets*/
41 AssetDescriptorCollection adc;
42 AssetDescriptor ad;
43 Asset one = new Asset();
44 ad = new AssetDescriptor();
45 adc = new AssetDescriptorCollection();
46 ad.setTag("FileName");
47 ad.setValue("CollectionView.testRemoveAssetOne.jpg");
48 adc.addAssetDescriptor(ad);
49 one.setAssetDescriptors(adc);
50
51 Asset two = new Asset();
52 ad = new AssetDescriptor();
53 adc = new AssetDescriptorCollection();
54 ad.setTag("FileName");
55 ad.setValue("CollectionView.testRemoveAssetTwo.jpg");
56 adc.addAssetDescriptor(ad);
57 two.setAssetDescriptors(adc);
58
59 Asset three = new Asset();
60 ad = new AssetDescriptor();
61 adc = new AssetDescriptorCollection();
62 ad.setTag("FileName");
63 ad.setValue("CollectionView.testRemoveAssetThree.jpg");
64 adc.addAssetDescriptor(ad);
65 three.setAssetDescriptors(adc);
66
67 collectionView.addAsset(one);
68 collectionView.addAsset(two);
69 collectionView.addAsset(three);
70 boolean test;
71 this.assertEquals(3, collectionView.size());
72 test = collectionView.removeAsset(one);
73 this.assertEquals(2, collectionView.size());
74 this.assertTrue(test);
75 test = collectionView.removeAsset(two);
76 this.assertEquals(1, collectionView.size());
77 this.assertTrue(test);
78 test = collectionView.removeAsset(three);
79 this.assertEquals(0, collectionView.size());
80 this.assertTrue(test);
81
82 /* Test removing a non-existent Asset */
83 this.assertFalse(collectionView.removeAsset(new Asset()));
84 this.assertFalse(collectionView.removeAsset(one));
85 this.assertFalse(collectionView.removeAsset(two));
86 this.assertFalse(collectionView.removeAsset(three));
87 }
88
89 /*Test getMetadataTagsCommonToAllAssets */
90 public void testGetMetadataTagsCommonToAllAssets() {
91 collectionView = new CollectionView();
92
93 Asset asset = new Asset();
94 AssetDescriptorCollection adc = new AssetDescriptorCollection();
95 adc.addAssetDescriptor(new AssetDescriptor("Title", "blahTitle1"));
96 adc.addAssetDescriptor(new AssetDescriptor("Author", "blahAuthor"));
97 asset.setAssetDescriptors(adc);
98 collectionView.addAsset(asset);
99
100 asset = new Asset();
101 adc = new AssetDescriptorCollection();
102 adc.addAssetDescriptor(new AssetDescriptor("Title", "blahTitle2"));
103 adc.addAssetDescriptor(new AssetDescriptor("FileName", "blahFileName"));
104 asset.setAssetDescriptors(adc);
105 collectionView.addAsset(asset);
106
107 asset = new Asset();
108 adc = new AssetDescriptorCollection();
109 adc.addAssetDescriptor(new AssetDescriptor("Title", "blahTitle3"));
110 adc.addAssetDescriptor(new AssetDescriptor("Owner", "blahOwner"));
111 asset.setAssetDescriptors(adc);
112 collectionView.addAsset(asset);
113
114 asset = new Asset();
115 adc = new AssetDescriptorCollection();
116 adc.addAssetDescriptor(new AssetDescriptor("Title", "blahTitle4"));
117 adc.addAssetDescriptor(new AssetDescriptor("PermissionID", "blahpID"));
118 asset.setAssetDescriptors(adc);
119 collectionView.addAsset(asset);
120
121 /*results should contain only "Title" */
122 Vector results = collectionView.getMetadataTagsCommonToAllAssets();
123 this.assertNotNull(results);
124 this.assertEquals(1, results.size());
125 this.assertTrue(((String)results.elementAt(0)).equals("Title"));
126
127 /*Test using only one asset*/
128 collectionView = new CollectionView();
129 asset = new Asset();
130 adc = new AssetDescriptorCollection();
131 adc.addAssetDescriptor(new AssetDescriptor("Title", "blahTitle2"));
132 adc.addAssetDescriptor(new AssetDescriptor("FileName", "blahFileName"));
133 asset.setAssetDescriptors(adc);
134 collectionView.addAsset(asset);
135 results = collectionView.getMetadataTagsCommonToAllAssets();
136 this.assertNotNull(results);
137 this.assertEquals(2, results.size());
138 this.assertTrue(((String)results.elementAt(0)).equals("Title"));
139 this.assertTrue(((String)results.elementAt(1)).equals("FileName"));
140 }
141 }