New file |
0,0 → 1,103 |
package org.mentacontainer.impl; |
|
import junit.framework.Assert; |
|
import org.junit.Test; |
import org.mentacontainer.Container; |
|
public class MentaContainerTest { |
|
@Test |
public void testSimpleGet() { |
|
Container c = new MentaContainer(); |
|
c.ioc("myStr", String.class); |
|
Assert.assertEquals("", c.get("myStr")); |
|
String s1 = (String) c.get("myStr"); |
|
String s2 = (String) c.get("myStr"); |
|
Assert.assertTrue(s1 != s2); |
|
Assert.assertTrue(s1.equals(s2)); |
} |
|
@Test |
public void testConstructorInit() { |
|
Container c = new MentaContainer(); |
|
c.ioc("myStr", String.class); |
|
c.init("myStr", "hello"); |
|
Assert.assertEquals("hello", c.get("myStr")); |
|
String s1 = (String) c.get("myStr"); |
|
String s2 = (String) c.get("myStr"); |
|
Assert.assertTrue(s1 != s2); |
|
Assert.assertTrue(s1.equals(s2)); |
|
c.ioc("anotherStr", String.class); |
|
c.init("anotherStr", "hi"); |
|
String s3 = (String) c.get("anotherStr"); |
|
Assert.assertTrue(s1 != s3); |
|
Assert.assertFalse(s1.equals(s3)); |
} |
|
@Test |
public void testSingleton() { |
|
Container c = new MentaContainer(); |
|
c.ioc("myStr", String.class, true); |
|
c.init("myStr", "hello"); |
|
Assert.assertEquals("hello", c.get("myStr")); |
|
String s1 = (String) c.get("myStr"); |
|
String s2 = (String) c.get("myStr"); |
|
Assert.assertTrue(s1 == s2); |
|
Assert.assertTrue(s1.equals(s2)); |
} |
|
@Test(expected = RuntimeException.class) |
public void testAddingComponentTwice() { |
|
Container c = new MentaContainer(); |
|
c.ioc("myStr", String.class).ioc("myStr", String.class); |
} |
|
@Test(expected = RuntimeException.class) |
public void testSettingWiringTwice() { |
|
Container c = new MentaContainer(); |
|
c.autowire("myThread", Runnable.class); |
|
c.autowire("myThread", Runnable.class); |
} |
|
@Test(expected = RuntimeException.class) |
public void testAddingWiringNoInterface() { |
|
Container c = new MentaContainer(); |
|
c.autowire("myThread", Thread.class); |
} |
} |