Exemplo n.º 1
0
        public void TestThrowOnEmployAbstractClass()
        {
            InstanceEmployer <Base> testEmployer = new InstanceEmployer <Base>();

            Assert.Throws <MissingMethodException>(
                delegate() { testEmployer.Employ(typeof(Base)); }
                );
        }
Exemplo n.º 2
0
        public void TestCanEmploy()
        {
            InstanceEmployer <Base> testEmployer = new InstanceEmployer <Base>();

            Assert.IsFalse(testEmployer.CanEmploy(typeof(Base)));
            Assert.IsTrue(testEmployer.CanEmploy(typeof(Derived)));
            Assert.IsFalse(testEmployer.CanEmploy(typeof(Unrelated)));
        }
Exemplo n.º 3
0
        public void TestThrowOnEmployGenericClass()
        {
            InstanceEmployer <Base> testEmployer = new InstanceEmployer <Base>();

            Assert.Throws <ArgumentException>(
                delegate() { testEmployer.Employ(typeof(GenericDerived <>)); }
                );
        }
Exemplo n.º 4
0
        public void TestThrowOnEmployUnrelatedClass()
        {
            InstanceEmployer <Base> testEmployer = new InstanceEmployer <Base>();

            Assert.Throws <InvalidCastException>(
                delegate() { testEmployer.Employ(typeof(Unrelated)); }
                );
        }
Exemplo n.º 5
0
        public void TestEmployProduct()
        {
            InstanceEmployer <Unrelated> testEmployer = new InstanceEmployer <Unrelated>();

            testEmployer.Employ(typeof(Unrelated));

            Assert.AreEqual(1, testEmployer.Instances.Count);
            Assert.AreEqual(typeof(Unrelated), testEmployer.Instances[0].GetType());
            Assert.IsInstanceOf <Unrelated>(testEmployer.Instances[0]);
        }
Exemplo n.º 6
0
        public void TestEmployClassDerivedFromProduct()
        {
            InstanceEmployer <Base> testEmployer = new InstanceEmployer <Base>();

            testEmployer.Employ(typeof(Derived));

            Assert.AreEqual(1, testEmployer.Instances.Count);
            Assert.AreEqual(typeof(Derived), testEmployer.Instances[0].GetType());
            Assert.IsInstanceOf <Derived>(testEmployer.Instances[0]);
        }