| Testing The Factory Pattern |
|
public abstract class Subject {
public abstract Product FactoryMethod();
}
public class ConcreteCreator : Creator {
public ConcreteCreator() { }
public override Product FactoryMethod() {
return new ConcreteProduct();
}
}
public abstract class Product { }
public class ConcreteProduct : Product {
public ConcreteProduct() { }
}
#endregion
[TestFixture]
public class ConcreteCreatorTests {
private ConcreteCreator concreteCreator = new ConcreteCreator();
public ConcreteCreatorTests() { }
[Test]
public void FactoryMethodCreatesConcreteProduct() {
Assert.AreEqual(typeof(ConcreteProduct), concreteCreator.FactoryMethod().GetType());
}
}
[TestFixture]
public class ConcreteProductTests {
private ConcreteProduct concreteProduct = new ConcreteProduct();
public ConcreteProductTests() { }
[Test]
public TestStub() {
}
}
#endregion
|
|
|
|