MentaContainer

Rev

Rev 4 | Rev 26 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 soliveira 1
package org.mentacontainer.impl;
2
 
3
import junit.framework.Assert;
4
 
5
import org.junit.Test;
6
import org.mentacontainer.Container;
7
 
8
public class MentaContainerTest {
20 soliveira 9
 
10
        @Test
11
        public void testSimpleGet() {
12
 
13
                Container c = new MentaContainer();
14
 
15
                c.ioc("myStr", String.class);
16
 
17
                Assert.assertEquals("", c.get("myStr"));
18
 
19
                String s1 = (String) c.get("myStr");
20
 
21
                String s2 = (String) c.get("myStr");
22
 
23
                Assert.assertTrue(s1 != s2);
24
 
25
                Assert.assertTrue(s1.equals(s2));
26
        }
27
 
28
        @Test
29
        public void testConstructorInit() {
30
 
31
                Container c = new MentaContainer();
32
 
33
                c.ioc("myStr", String.class).addInitValue("hello");
34
 
35
                Assert.assertEquals("hello", c.get("myStr"));
36
 
37
                String s1 = (String) c.get("myStr");
38
 
39
                String s2 = (String) c.get("myStr");
40
 
41
                Assert.assertTrue(s1 != s2);
42
 
43
                Assert.assertTrue(s1.equals(s2));
44
 
45
                c.ioc("anotherStr", String.class).addInitValue("hi");
46
 
47
                String s3 = (String) c.get("anotherStr");
48
 
49
                Assert.assertTrue(s1 != s3);
50
 
51
                Assert.assertFalse(s1.equals(s3));
52
        }
53
 
54
        @Test
55
        public void testSingleton() {
56
 
57
                Container c = new MentaContainer();
58
 
59
                c.ioc("myStr", String.class, true).addInitValue("hello");
60
 
61
                Assert.assertEquals("hello", c.get("myStr"));
62
 
63
                String s1 = (String) c.get("myStr");
64
 
65
                String s2 = (String) c.get("myStr");
66
 
67
                Assert.assertTrue(s1 == s2);
68
 
69
                Assert.assertTrue(s1.equals(s2));
70
        }
71
 
72
        @Test(expected = RuntimeException.class)
73
        public void testAddingComponentTwice() {
74
 
75
                Container c = new MentaContainer();
76
 
77
                c.ioc("myStr", String.class);
78
 
79
                c.ioc("myStr", String.class);
80
        }
81
 
82
        @Test(expected = RuntimeException.class)
83
        public void testSettingWiringTwice() {
84
 
85
                Container c = new MentaContainer();
86
 
87
                c.autowire("myThread", Runnable.class);
88
 
89
                c.autowire("myThread", Runnable.class);
90
        }
4 soliveira 91
}