public void CanImplementMarkerInterface() { //-- Arrange var factory = new MarkerInterfaceFactory(m_Module); //-- Act AncestorRepository.IMakerInterfaceOne one = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceOne>(); //-- Assert Assert.That(one, Is.Not.Null); }
public void FactoryAlwaysCreatesNewInstances() { //-- Arrange var factory = new MarkerInterfaceFactory(m_Module); //-- Act var one1 = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceOne>(); var one2 = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceOne>(); //-- Assert Assert.That(one1, Is.Not.SameAs(one2)); }
public void DynamicTypesAreReusedPerSameKey() { //-- Arrange var factory = new MarkerInterfaceFactory(m_Module); //-- Act var one1 = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceOne>(); var one2 = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceOne>(); var two1 = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceTwo>(); var two2 = factory.CreateMarkerObject <AncestorRepository.IMakerInterfaceTwo>(); //-- Assert Assert.That(one1.GetType(), Is.SameAs(one2.GetType())); Assert.That(two1.GetType(), Is.SameAs(two2.GetType())); Assert.That(one1.GetType(), Is.Not.SameAs(two1.GetType())); }