builder.build(component);
ContextFactory<AtomicContext> contextFactory = (ContextFactory<AtomicContext>) component.getContextFactory();
Assert.assertNotNull(contextFactory);
contextFactory.prepare(createContext());
AtomicContext ctx = contextFactory.createContext();
ctx.start();
SystemComponentImpl instance = (SystemComponentImpl) ctx.getInstance(null);
Assert.assertNotNull(instance.getConfigContext());
Assert.assertNotNull(instance.getParentContext());
Assert.assertNotNull(instance.getAutowireContext());
Assert.assertNotNull(instance.getConfigContextSetter());
Assert.assertNotNull(instance.getParentContextSetter());
Assert.assertNotNull(instance.getAutowireContextSetter());
Assert.assertEquals(1, instance.getTestInt());
Assert.assertEquals(1d, instance.getTestDouble());
Assert.assertEquals(1f, instance.getTestFloat());
Assert.assertEquals((short) 1, instance.getTestShort());
Assert.assertTrue(instance.getTestBoolean());
Assert.assertEquals('1', instance.getTestChar());
Assert.assertEquals((byte) 1, instance.getTestByte());
Assert.assertEquals("test", instance.getTestString());
Assert.assertTrue(instance.initialized());
ctx.destroy();
ctx.stop();
Assert.assertTrue(instance.destroyed());
}