public void GetComponentTest() { string componentName = string.Empty; IComponent expected = null; IComponent actual = null; //componentName为空,抛出异常 bool ret = false; try { actual = ComponentManager.Current.GetComponent(componentName); } catch (Exception) { ret = true; } Assert.IsTrue(ret); //默认注册两个Component BuidInfo和HostInfo var components = ComponentManager.Current.GetCollection(); Assert.AreEqual(components.Components.Count, 2); //expected存在 expected = new HostInfo(); var component = ComponentManager.Current.GetComponent(expected.GetType().Name.ToLowerInvariant()); Assert.IsInstanceOfType(component, component.GetType()); //expected不存在 expected = new Arch.CFramework.AppInternals.Test.TestBean.BuildInfo(); component = ComponentManager.Current.GetComponent(expected.GetType().FullName.ToLowerInvariant()); Assert.IsNull(component); }
public void RegisterTest() { //注册空的Component,抛出异常 IComponent expected = null; IComponent actual = null; bool ret = false; try { ComponentManager.Current.Register(expected); } catch (Exception) { ret = true; } Assert.IsTrue(ret); //注册同一命名空间下的BuidInfo expected = new BuildInfo(); ComponentManager.Current.Register(expected); var components = ComponentManager.Current.GetCollection(); Assert.AreEqual(components.Components.Count, 2); //说明注册进去了 actual = ComponentManager.Current.GetComponent(expected.GetType().Name.ToLowerInvariant()); Assert.IsInstanceOfType(actual, expected.GetType()); //注册不同命名空间下的BuidInfo expected = new Arch.CFramework.AppInternals.Test.TestBean.BuildInfo(); ComponentManager.Current.Register(expected); components = ComponentManager.Current.GetCollection(); Assert.AreEqual(components.Components.Count, 3); //说明注册进去了 //actual = ComponentManager.Current.GetComponent(expected.GetType().Name.ToLowerInvariant()); //Assert.IsInstanceOfType(actual, expected.GetType()); }