コード例 #1
0
        public void UnregisterTest1()
        {
            AbstractFactory <int, Stream> factory = new AbstractFactory <int, Stream>();
            CustomCreator creator = new CustomCreator();

            factory.Register(0, creator);
            factory.Unregister(creator);

            Assert.AreEqual(factory.Create(0), null);
        }
コード例 #2
0
        public void ItemTest()
        {
            AbstractFactory <int, Stream> factory = new AbstractFactory <int, Stream>();

            factory.Register(0, new CustomCreator());
            factory.Register(1, new CustomCreator());

            CustomCreator creator  = (CustomCreator)factory[0];
            CustomCreator creator2 = (CustomCreator)factory[4];

            Assert.AreNotEqual(creator, null);
            Assert.AreEqual(creator2, null);
        }
コード例 #3
0
 /// <summary>
 /// Registers a CustomCreator.
 /// </summary>
 /// <param name="creator">The creator to register</param>
 public void RegisterCreator(CustomCreator creator)
 {
     System.Type t = creator.TypeToCreate();
     m_creators[t] = creator;
 }
コード例 #4
0
        public void UnregisterTest1()
        {
            AbstractFactory<int, Stream> factory = new AbstractFactory<int, Stream>();
            CustomCreator creator = new CustomCreator();

            factory.Register(0, creator );
            factory.Unregister(creator);

            Assert.AreEqual(factory.Create(0), null);
        }