public void Cannot_Create_With_No_Default_Constructor()
            {
                ICreateInstances creator = new SimpleInstanceCreator();

                Assert.Throws <MissingMethodException>(() =>
                                                       creator.CreateInstance(typeof(ClassWithConstructorParameters))
                                                       );
            }
            public void Can_Create_Via_Default_Constructor()
            {
                ICreateInstances creator = new SimpleInstanceCreator();

                Assert.NotNull((SkeletonClass)creator.CreateInstance(typeof(SkeletonClass)));
            }
            public void Can_Create_Via_Explicit_Constructor()
            {
                ICreateInstances creator = new SimpleInstanceCreator();

                Assert.NotNull((ClassWithPublicConstructor)creator.CreateInstance(typeof(ClassWithPublicConstructor)));
            }
            public void Can_Create_Simple_Types()
            {
                ICreateInstances creator = new SimpleInstanceCreator();

                Assert.Equal(0, (Int32)creator.CreateInstance(typeof(Int32)));
            }