public void TestGenericInstanceCreation() { ConcretePrototype template = new ConcretePrototype(42); IAbstractFactory <IProduct> factory = new PrototypeFactory < IProduct, ConcretePrototype >(template); IProduct factoryCreatedProduct = factory.CreateInstance(); Assert.AreEqual(template.Value, factoryCreatedProduct.Value); }
public void TestPrototypeDisposal() { ConcretePrototype template = new ConcretePrototype(42); PrototypeFactory <IProduct, ConcretePrototype> factory = new PrototypeFactory < IProduct, ConcretePrototype >(template); Assert.IsFalse(template.IsDisposed); factory.Dispose(); Assert.IsTrue(template.IsDisposed); }