public void RegisterFactoryClass05Test() { ObjectFactory.Instance.RegisterFactoryClass(typeof(IFactorable), typeof(FactorableSub)); IFactorable f = ObjectFactory.Instance.Construct <IFactorable>(); Assert.IsInstanceOfType(f, typeof(FactorableSub)); }
public Pool(IFactorable <T> factory, int poolSize = 2) { this._factory = factory; for (int i = 0; i < poolSize; i++) { Create(); } }
public void RegisterFactoryClass06Test() { ObjectFactory.Instance.RegisterFactoryClass(typeof(IFactorable), typeof(FactorableSub)); IFactorable f = ObjectFactory.Instance.Construct <IFactorable>(12); Assert.IsInstanceOfType(f, typeof(FactorableSub)); Assert.AreEqual(12, f.Value); }
public void RegisterFactoryInstance02Test() { ObjectFactory.Instance.RegisterFacoryInstance(typeof(IFactorable), new FactorableSub(17)); IFactorable f = ObjectFactory.Instance.Construct <IFactorable>(); IFactorable g = ObjectFactory.Instance.Construct <IFactorable>(); Assert.AreEqual(17, f.Value); Assert.AreEqual(17, g.Value); Assert.AreEqual(f, g); }
public void RegisterFactoryMethod01Test() { ObjectFactory.Instance.RegisterFactoryMethod( typeof(IFactorable), delegate(Type req, object[] args) { return(new FactorableSub(48)); } ); IFactorable f = ObjectFactory.Instance.Construct <IFactorable>(); IFactorable g = ObjectFactory.Instance.Construct <IFactorable>(); Assert.AreEqual(48, f.Value); Assert.AreEqual(48, g.Value); Assert.AreNotEqual(f, g); }
public Pool(IFactorable <T> factory) : this(factory, 2) { }