Adding a test for mutable feature collection

This commit is contained in:
Praburaj 2015-03-03 14:07:10 -08:00
parent fde3b0d2af
commit f2d345855b
2 changed files with 47 additions and 2 deletions

View File

@ -0,0 +1,44 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
using Microsoft.AspNet.Hosting.Builder;
using Microsoft.AspNet.Owin;
using Xunit;
namespace Microsoft.AspNet.Hosting.Tests
{
public class HttpContextFactoryFacts
{
[Fact]
public void Mutable_FeatureCollection_Wrapped_For_OwinFeatureCollection()
{
var env = new Dictionary<string, object>();
var contextFactory = new HttpContextFactory();
var context = contextFactory.CreateHttpContext(new OwinFeatureCollection(env));
// Setting a feature will throw if the above feature collection is not wrapped in a mutable feature collection.
context.SetFeature<ICustomFeature>(new CustomFeature(100));
Assert.Equal(100, context.GetFeature<ICustomFeature>().Value);
}
private interface ICustomFeature
{
int Value { get; }
}
private class CustomFeature : ICustomFeature
{
private readonly int _value;
public CustomFeature(int value)
{
_value = value;
}
public int Value
{
get { return _value; }
}
}
}
}

View File

@ -1,14 +1,15 @@
{
"dependencies": {
"Microsoft.AspNet.Hosting": "1.0.0-*",
"Microsoft.AspNet.Owin": "1.0.0-*",
"Microsoft.AspNet.RequestContainer": "1.0.0-*",
"xunit.runner.kre": "1.0.0-*"
},
"frameworks": {
"aspnet50": { }
"aspnet50": {}
},
"commands": {
"test": "xunit.runner.kre"
},
"webroot": "testroot"
}
}