public void FailWhenNoFactoryFound()
        {
            ModelFactoryList facs = new ModelFactoryList();

            facs.Add(new SpecificModelClassFactory());

            var result = facs.FindFactory(typeof(GenericModelClass));
        }
        public void FailWhenNoFactoryFound()
        {
            ModelFactoryList facs = new ModelFactoryList();

            facs.Add(new SpecificModelClassFactory());

            var result = facs.FindFactory(typeof(GenericModelClass));
        }
        public void FailWhenNoFactoryFound()
        {
            ModelFactoryList facs = new ModelFactoryList();

            facs.Add(new SpecificModelClassFactory());

            Assert.ThrowsException <InvalidOperationException>(() => facs.FindFactory(typeof(GenericModelClass)));
        }
        public void FindModelClassFactory()
        {
            ModelFactoryList facs = new ModelFactoryList();

            var specificFactory = new SpecificModelClassFactory();
            facs.Add(specificFactory);
            var defaultFactory = new DefaultModelFactory();
            facs.Add(defaultFactory);

            var selectedFactory = facs.FindFactory(typeof(SpecificModelClass));
            Assert.AreEqual(specificFactory, selectedFactory);

            selectedFactory = facs.FindFactory(typeof(GenericModelClass));
            Assert.AreEqual(defaultFactory, selectedFactory);
        }
        public void FindModelClassFactory()
        {
            ModelFactoryList facs = new ModelFactoryList();

            var specificFactory = new SpecificModelClassFactory();

            facs.Add(specificFactory);
            var defaultFactory = new DefaultModelFactory();

            facs.Add(defaultFactory);

            var selectedFactory = facs.FindFactory(typeof(SpecificModelClass));

            Assert.AreEqual(specificFactory, selectedFactory);

            selectedFactory = facs.FindFactory(typeof(GenericModelClass));
            Assert.AreEqual(defaultFactory, selectedFactory);
        }