public void ConstructorTests()
        {
            TestConfigurationConstructorMetadata metadata = new TestConfigurationConstructorMetadata();
            ConfigurationBase <TestConfigurationConstructor, TestConfigurationConstructorMetadata> configuration
                = new TestConfigurationConstructor(metadata);

            Assert.NotNull(configuration.ConfigurationMetadata);
            Assert.Equal(metadata, configuration.ConfigurationMetadata);
        }
 public void ConstructorStreamTests()
 {
     using (MemoryStream stream = new MemoryStream())
     {
         Func <Stream> getStream = () => stream;
         ConfigurationMetadataBase <TestConfigurationConstructor, TestConfigurationConstructorMetadata> metadata
             = new TestConfigurationConstructorMetadata(getStream);
         Assert.True(metadata.UseStream);
         Assert.Equal(stream, metadata.GetConfigurationStream());
         Assert.Equal(typeof(TestConfigurationConstructor), metadata.ConfigurationType);
         Assert.Equal("TestConfigurationConstructor", metadata.ConfigurationName);
         Assert.Null(metadata.ConfigurationLocation);
     }
 }
        public void ConstructorFileTests()
        {
            const string location = "./testConfigurationJson.json";
            ConfigurationMetadataBase <TestConfigurationConstructor, TestConfigurationConstructorMetadata> metadata
                = new TestConfigurationConstructorMetadata(location);

            Assert.False(metadata.UseStream);
            Assert.Equal(location, metadata.ConfigurationLocation);
            Assert.Equal(typeof(TestConfigurationConstructor), metadata.ConfigurationType);
            Assert.Equal("TestConfigurationConstructor", metadata.ConfigurationName);
            Assert.Null(metadata.GetConfigurationStream);
        }