1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System.Dynamic;
using Microsoft.Internal.Web.Utils;
using Xunit;
namespace System.Web.Helpers.Test
{
public class DynamicHelperTest
{
[Fact]
public void TryGetMemberValueReturnsValueIfBinderIsNotCSharp()
{
// Arrange
var mockMemberBinder = new MockMemberBinder("Foo");
var dynamic = new DynamicWrapper(new { Foo = "Bar" });
// Act
object value;
bool result = DynamicHelper.TryGetMemberValue(dynamic, mockMemberBinder, out value);
// Assert
Assert.Equal(value, "Bar");
}
private class MockMemberBinder : GetMemberBinder
{
public MockMemberBinder(string name)
: base(name, false)
{
}
public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion)
{
throw new NotImplementedException();
}
}
}
}
|