public void ModelConstructed()
        {
            BaseKernel container = new BaseKernel();

            container.ComponentModelConstructed += new ComponentModelDelegate(ComponentModelConstructed);

            Assert(!m_modelConstructed);

            container.AddComponent( "a", typeof(IMailService), typeof(SimpleMailService) );

            Assert(m_modelConstructed);

            m_modelConstructed = false;

            container.RemoveComponent( "a" );

            Assert(!m_modelConstructed);
        }
        public void RegisteredAndUnregistered()
        {
            BaseKernel container = new BaseKernel();

            container.ComponentRegistered += new ComponentDataDelegate(Registered);
            container.ComponentUnregistered += new ComponentDataDelegate(Unregistered);

            Assert(!m_registered);
            Assert(!m_unregistered);

            container.AddComponent( "a", typeof(IMailService), typeof(SimpleMailService) );

            Assert(m_registered);
            Assert(!m_unregistered);

            m_registered = false;

            container.RemoveComponent( "a" );

            Assert(!m_registered);
            Assert(m_unregistered);
        }