Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/acs/damsel/srvr/asset/TestAssetDescriptorCollection.java


1   package org.acs.damsel.srvr.asset;
2   
3   import junit.framework.*;
4   import org.acs.damsel.srvr.db.*;
5   import java.sql.*;
6   
7   public class TestAssetDescriptorCollection
8       extends TestCase {
9     private AssetDescriptorCollection assetDescriptorCollection = null;
10  
11    public TestAssetDescriptorCollection(String name) {
12      super(name);
13    }
14  
15    protected void setUp() throws Exception {
16      super.setUp();
17      assetDescriptorCollection = new AssetDescriptorCollection();
18    }
19  
20    /* Test the constructor */
21    public void testCreate() {
22      assetDescriptorCollection = new AssetDescriptorCollection();
23      this.assertNotNull(assetDescriptorCollection);
24    }
25  
26    /* Test addAssetDescriptor */
27    public void testAddAssetDescriptor() {
28      /* Test that addAssetDescriptor updates the size */
29      this.assertEquals(0, assetDescriptorCollection.size());
30      assetDescriptorCollection.addAssetDescriptor(new AssetDescriptor());
31      this.assertEquals(1, assetDescriptorCollection.size());
32      assetDescriptorCollection.addAssetDescriptor(new AssetDescriptor());
33      this.assertEquals(2, assetDescriptorCollection.size());
34  
35    }
36  
37    /* Test removeAssetDescriptor */
38   public void testRemoveAssetDescriptor() {
39     /* Test that removeAssetDescriptor updates the size and returns true for
40      valid AssetDescriptor*/
41     AssetDescriptor one = new AssetDescriptor();
42     AssetDescriptor two = new AssetDescriptor();
43     AssetDescriptor three = new AssetDescriptor();
44     assetDescriptorCollection.addAssetDescriptor(one);
45     assetDescriptorCollection.addAssetDescriptor(two);
46     assetDescriptorCollection.addAssetDescriptor(three);
47     boolean test;
48     this.assertEquals(3, assetDescriptorCollection.size());
49     test = assetDescriptorCollection.removeAssetDescriptor(one);
50     this.assertEquals(2, assetDescriptorCollection.size());
51     this.assertTrue(test);
52     test = assetDescriptorCollection.removeAssetDescriptor(two);
53     this.assertEquals(1, assetDescriptorCollection.size());
54     this.assertTrue(test);
55     test = assetDescriptorCollection.removeAssetDescriptor(three);
56     this.assertEquals(0, assetDescriptorCollection.size());
57     this.assertTrue(test);
58  
59     /* Test removing a non-existant AssetDescriptor */
60     this.assertFalse(assetDescriptorCollection.removeAssetDescriptor(new AssetDescriptor()));
61     this.assertFalse(assetDescriptorCollection.removeAssetDescriptor(one));
62     this.assertFalse(assetDescriptorCollection.removeAssetDescriptor(two));
63     this.assertFalse(assetDescriptorCollection.removeAssetDescriptor(three));
64   }
65  
66   /* tests the getTag() method */
67   public void testGetTag(){
68     AssetDescriptor one = new AssetDescriptor("Title", "one");
69     AssetDescriptor two = new AssetDescriptor("Data", "two");
70     AssetDescriptor three = new AssetDescriptor("Author", "three");
71     assetDescriptorCollection.addAssetDescriptor(one);
72     assetDescriptorCollection.addAssetDescriptor(two);
73     assetDescriptorCollection.addAssetDescriptor(three);
74     String str6 = assetDescriptorCollection.getTag("one");
75     String str2 = assetDescriptorCollection.getTag("two");
76     String str3 = assetDescriptorCollection.getTag("three");
77     this.assertTrue(str6.equals("Title"));
78     this.assertTrue(str2.equals("Data"));
79     this.assertTrue(str3.equals("Author"));
80  
81     /*Test trying to get a tag that doesnt exist: should return null */
82     assetDescriptorCollection = new AssetDescriptorCollection();
83     String test = assetDescriptorCollection.getTag("blah");
84     this.assertNull(test);
85     assetDescriptorCollection.addAssetDescriptor(new AssetDescriptor("testTag", "testValue"));
86     test = assetDescriptorCollection.getTag("testValue");
87     this.assertNotNull(test);
88     this.assertTrue(test.equals("testTag"));
89   }
90  
91   /* Test trying to get the value associated with a defined metadata tag*/
92   public void testGetValue(){
93     try {
94       Asset a = new Asset();
95       AssetDescriptor fileNameAD = new AssetDescriptor();
96       AssetDescriptor titleAD = new AssetDescriptor();
97       fileNameAD.setTag("FileName");
98       fileNameAD.setValue("testAs.jpg");
99       titleAD.setTag("Title");
100      titleAD.setValue("TestTitle");
101 
102      AssetDescriptorCollection adc = new AssetDescriptorCollection();
103      adc.addAssetDescriptor(fileNameAD);
104      adc.addAssetDescriptor(titleAD);
105      a.setAssetDescriptors(adc);
106 
107      AssetDB assetDB = AssetDB.instance();
108      assetDB.addAsset(a, "TestColl");
109      this.assertEquals("testAs.jpg", a.getAssetDescriptors().getValue("FileName"));
110      this.assertEquals("TestTitle", a.getAssetDescriptors().getValue("Title"));
111      assetDB.deleteAsset(a);
112      assetDB.removeAssetFromAllCollections(a);
113    }
114   catch (SQLException ex) {
115     this.fail("Caught unexpected SQL error.");
116     ex.printStackTrace();
117   }
118  }
119 
120 }