public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { DynamicTypeWrapper dynamicTypeWrapper = value as DynamicTypeWrapper; if (dynamicTypeWrapper != null) { serializer.Serialize(writer, dynamicTypeWrapper.Values); } }
public void CanSetProperty() { var expectedValue = "TestValue"; var propName = "TestProp"; var wrapper = new DynamicTypeWrapper(); wrapper.SetPropertyValue(propName, expectedValue); var actual = wrapper.GetPropertyValue(propName); Assert.Equal(expectedValue, actual); }
public void GetHashCodeEqualForEqualWrappers() { var expectedValue = "TestValue"; var propName = "TestProp"; var wrapper = new DynamicTypeWrapper(); wrapper.SetPropertyValue(propName, expectedValue); var wrapper2 = new DynamicTypeWrapper(); wrapper2.SetPropertyValue(propName, expectedValue); Assert.Equal(wrapper.GetHashCode(), wrapper2.GetHashCode()); }
public void CanEqualWrappers() { var expectedValue = "TestValue"; var propName = "TestProp"; var wrapper = new DynamicTypeWrapper(); wrapper.SetPropertyValue(propName, expectedValue); var wrapper2 = new DynamicTypeWrapper(); wrapper2.SetPropertyValue(propName, expectedValue); Assert.Equal(wrapper, wrapper2); }
public void CanTryGetProperty() { var expectedValue = "TestValue"; var propName = "TestProp"; var wrapper = new DynamicTypeWrapper(); wrapper.SetPropertyValue(propName, expectedValue); object actual; Assert.True(wrapper.TryGetPropertyValue(propName, out actual)); Assert.Equal(expectedValue, actual); }
private object GetValue(DynamicTypeWrapper wrapper, string path) { var parts = path.Split('/'); foreach (var part in parts) { object value; wrapper.TryGetPropertyValue(part, out value); wrapper = value as DynamicTypeWrapper; if (wrapper == null) { return value; } } Assert.False(true, "Property " + path + " not found"); return null; }