1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.jdtaus.core.container.test;
22
23 import java.io.ObjectInputStream;
24 import junit.framework.Assert;
25 import junit.framework.TestCase;
26 import org.jdtaus.core.container.Dependencies;
27 import org.jdtaus.core.container.Dependency;
28
29
30
31
32
33
34
35 public class DependenciesTest extends TestCase
36 {
37
38
39 public void testObject() throws Exception
40 {
41 final Dependencies d1 = new Dependencies();
42 final Dependencies d2 = new Dependencies();
43
44 Assert.assertEquals( d1, d2 );
45 Assert.assertEquals( d1.hashCode(), d2.hashCode() );
46
47 System.out.println( d1.toString() );
48 System.out.println( d2.toString() );
49
50 final Dependency[] deps1 =
51 {
52 new Dependency(), new Dependency(), new Dependency()
53 };
54 final Dependency[] deps2 =
55 {
56 new Dependency(), new Dependency(), new Dependency()
57 };
58 final Dependency[] deps3 =
59 {
60 new Dependency(), new Dependency(), new Dependency()
61 };
62 final Dependency[] deps4 =
63 {
64 new Dependency(), new Dependency()
65 };
66
67 deps1[0].setName( "TEST 1" );
68 deps1[1].setName( "TEST 2" );
69 deps1[2].setName( "TEST 3" );
70 deps2[0].setName( "TEST 3" );
71 deps2[1].setName( "TEST 2" );
72 deps2[2].setName( "TEST 1" );
73 deps3[0].setName( "TEST 2" );
74 deps3[1].setName( "TEST 1" );
75 deps3[2].setName( "TEST 3" );
76 deps4[0].setName( "TEST 1" );
77 deps4[1].setName( "TEST 3" );
78
79 d1.setDependencies( deps1 );
80 d2.setDependencies( deps2 );
81
82 Assert.assertEquals( d1, d2 );
83 Assert.assertEquals( d1.hashCode(), d2.hashCode() );
84
85 System.out.println( d1.toString() );
86 System.out.println( d2.toString() );
87
88 final Dependencies clone1 = (Dependencies) d1.clone();
89 final Dependencies clone2 = (Dependencies) d2.clone();
90
91 Assert.assertEquals( clone1, clone2 );
92 Assert.assertEquals( clone1.hashCode(), clone2.hashCode() );
93
94 System.out.println( clone1.toString() );
95 System.out.println( clone2.toString() );
96
97 d1.setDependencies( deps3 );
98
99 Assert.assertEquals( d1, d2 );
100 Assert.assertEquals( d1.hashCode(), d2.hashCode() );
101
102 d1.setDependencies( deps4 );
103
104 Assert.assertFalse( d1.equals( d2 ) );
105 Assert.assertFalse( d1.hashCode() == d2.hashCode() );
106 }
107
108 public void testBackwardCompatibility_1_0() throws Exception
109 {
110 final ObjectInputStream in = new ObjectInputStream( this.getClass().
111 getResourceAsStream( "Dependencies.ser" ) );
112
113 final Dependencies current = new Dependencies();
114 final Dependencies serialized = (Dependencies) in.readObject();
115
116 Assert.assertEquals( current, serialized );
117 Assert.assertEquals( current.hashCode(), serialized.hashCode() );
118 }
119
120
121 }