public void CreateSmartphone()
        {
            var factory = new SimpleDeviceFactory();
            var obj     = factory.CreateDevice("Smartphone");

            Assert.AreEqual(typeof(Smartphone), obj.GetType());
        }
        public void CreateTablet()
        {
            var factory = new SimpleDeviceFactory();
            var obj     = factory.CreateDevice("Tablet");

            Assert.AreEqual(typeof(Tablet), obj.GetType());
        }
        public void CreateWrongTypeName()
        {
            var factory = new SimpleDeviceFactory();
            var obj     = factory.CreateDevice("tablet");

            Assert.AreEqual(null, obj);
            Assert.AreNotEqual(typeof(Tablet), obj.GetType());
        }
        public void CreateBookReader()
        {
            var factory = new SimpleDeviceFactory();
            var obj     = factory.CreateDevice("BookReader");

            Assert.AreEqual("4", obj.Model);
            Assert.AreEqual("Amazon Kindle", obj.Manufacturer);
            Assert.AreEqual(64, obj.Memory);
            Assert.AreEqual(typeof(BookReader), obj.GetType());
        }