Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());

        }