MentaContainer

Rev

Rev 89 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
89 soliveira 1
package org.mentacontainer;
24 soliveira 2
 
3
import java.lang.reflect.Method;
4
 
5
import junit.framework.Assert;
6
 
7
import org.junit.Test;
94 soliveira 8
import org.mentacontainer.SetterDependency;
24 soliveira 9
 
88 soliveira 10
public class DependencyTest {
24 soliveira 11
 
12
        private static class User {
13
 
14
                private String username;
94 soliveira 15
                private String something;
24 soliveira 16
 
17
                public User() { }
18
 
19
                public User(String username) {
20
                        this.username = username;
21
                }
22
 
23
                public String getUsername() {
24
                        return username;
25
                }
26
 
27
                public void setUsername(String username) {
28
                        this.username = username;
29
                }
94 soliveira 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
 
45
                }
24 soliveira 46
        }
47
 
48
        @Test
49
        public void testDependency() {
50
 
94 soliveira 51
                SetterDependency d = new SetterDependency("username", "theUsername", String.class);
24 soliveira 52
 
53
                Assert.assertEquals("username", d.getTarget());
54
 
55
                Assert.assertEquals("theUsername", d.getSource());
56
 
57
                Method m = d.check(User.class);
58
 
59
                Assert.assertNotNull(m);
60
 
61
                Assert.assertEquals("setUsername", m.getName());
62
 
63
                Assert.assertEquals(String.class, m.getParameterTypes()[0]);
94 soliveira 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]);           
24 soliveira 80
        }
81
}