StructureMap: How can i unit test the registry class?
        Posted  
        
            by Marius
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Marius
        
        
        
        Published on 2010-03-18T11:24:20Z
        Indexed on 
            2010/03/21
            20:21 UTC
        
        
        Read the original article
        Hit count: 218
        
structuremap
I have a registry class like this:
public class StructureMapRegistry : Registry
{
    public StructureMapRegistry()
    {
        For<IDateTimeProvider>().Singleton().Use<DateTimeProviderReturningDateTimeNow>();
    }
I want to test that the configuration is according to my intent, so i start writing a test:
public class WhenConfiguringIOCContainer : Scenario
{
    private TfsTimeMachine.Domain.StructureMapRegistry registry;
    private Container container;
    protected override void Given()
    {
        registry = new TfsTimeMachine.Domain.StructureMapRegistry();
        container = new Container();
    }
    protected override void When()
    {
        container.Configure(i => i.AddRegistry(registry));
    }
    [Then]
    public void DateTimeProviderIsRegisteredAsSingleton()
    {
        // I want to say "verify that the container contains the expected type and that the expected type
        // is registered as a singleton
    }
}
How can verify that the registry is accoring to my expectations? Note: I introduced the container because I didn't see any sort of verification methods available on the Registry class. Idealy, I want to test on the registry class directly.
© Stack Overflow or respective owner