public void testGBeanDependency() throws Exception {
AbstractName parentName = kernel.getNaming().createRootName(new Artifact("test", "foo", "1", "car"), "parent", "parent");
GBeanData gbeanDataParent = new GBeanData(parentName, MockGBean.getGBeanInfo());
GBeanData gbeanDataChild = new GBeanData(kernel.getNaming().createChildName(parentName, "child", "child"), MockGBean.getGBeanInfo());
gbeanDataChild.addDependency(new ReferencePatterns(parentName));
kernel.loadGBean(gbeanDataChild, MockGBean.class.getClassLoader());
kernel.startGBean(gbeanDataChild.getAbstractName());
assertEquals(State.STARTING_INDEX, kernel.getGBeanState(gbeanDataChild.getAbstractName()));
kernel.loadGBean(gbeanDataParent, MockGBean.class.getClassLoader());
assertEquals(State.STARTING_INDEX, kernel.getGBeanState(gbeanDataChild.getAbstractName()));