MentaContainer

Rev

Rev 89 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 89 Rev 94
Line 3... Line 3...
3
import java.lang.reflect.Method;
3
import java.lang.reflect.Method;
4
4
5
import junit.framework.Assert;
5
import junit.framework.Assert;
6
6
7
import org.junit.Test;
7
import org.junit.Test;
8
import org.mentacontainer.Dependency;
-
 
-
 
8
import org.mentacontainer.SetterDependency;
9
9
10
public class DependencyTest {
10
public class DependencyTest {
11
       
11
       
12
        private static class User {
12
        private static class User {
13
               
13
               
14
                private String username;
14
                private String username;
-
 
15
                private String something;
15
               
16
               
16
                public User() { }
17
                public User() { }
17
               
18
               
18
                public User(String username) {
19
                public User(String username) {
19
                        this.username = username;
20
                        this.username = username;
Line 23... Line 24...
23
                        return username;
24
                        return username;
24
                }
25
                }
25
               
26
               
26
                public void setUsername(String username) {
27
                public void setUsername(String username) {
27
                        this.username = username;
28
                        this.username = username;
-
 
29
                }
-
 
30
               
-
 
31
                public void setSomething(String s) {
-
 
32
                        this.something = "STRING: " + s;
-
 
33
                }
-
 
34
               
-
 
35
                public void setSomething(Object s) {
-
 
36
                        this.something = "OBJECT: " + s;
-
 
37
                }
-
 
38
               
-
 
39
                public String getSomething() {
-
 
40
                        return something;
-
 
41
                }
-
 
42
               
-
 
43
                public void setElse(Object s) {
-
 
44
                       
28
                }
45
                }
29
        }
46
        }
30
       
47
       
31
        @Test
48
        @Test
32
        public void testDependency() {
49
        public void testDependency() {
33
               
50
               
34
                Dependency d = new Dependency("username", String.class, "theUsername");
-
 
-
 
51
                SetterDependency d = new SetterDependency("username", "theUsername", String.class);
35
               
52
               
36
                Assert.assertEquals("username", d.getTarget());
53
                Assert.assertEquals("username", d.getTarget());
37
               
-
 
38
                Assert.assertEquals(String.class, d.getType());
-
 
39
               
54
               
40
                Assert.assertEquals("theUsername", d.getSource());
55
                Assert.assertEquals("theUsername", d.getSource());
41
               
56
               
42
                Method m = d.check(User.class);
57
                Method m = d.check(User.class);
43
               
58
               
44
                Assert.assertNotNull(m);
59
                Assert.assertNotNull(m);
45
               
60
               
46
                Assert.assertEquals("setUsername", m.getName());
61
                Assert.assertEquals("setUsername", m.getName());
47
               
62
               
48
                Assert.assertEquals(String.class, m.getParameterTypes()[0]);
63
                Assert.assertEquals(String.class, m.getParameterTypes()[0]);
-
 
64
               
-
 
65
                d = new SetterDependency("something", "theSomething", String.class);
-
 
66
               
-
 
67
                m = d.check(User.class);
-
 
68
               
-
 
69
                Assert.assertEquals("setSomething", m.getName());
-
 
70
               
-
 
71
                Assert.assertEquals(String.class, m.getParameterTypes()[0]);
-
 
72
               
-
 
73
                d = new SetterDependency("else", "theElse", String.class);
-
 
74
               
-
 
75
                m = d.check(User.class);
-
 
76
               
-
 
77
                Assert.assertEquals("setElse", m.getName());
-
 
78
               
-
 
79
                Assert.assertEquals(Object.class, m.getParameterTypes()[0]);           
49
        }
80
        }
50
}
81
}