public void Get_OnNonExistentProperty_ReturnsNull() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act object value = dynamicVD.Prop; // Assert Assert.IsNull(value); }
public void Set_OnNonExistentProperty_SetsValue() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act dynamicVD.Prop = "NewValue"; // Assert Assert.AreEqual("NewValue", dynamicVD.Prop); Assert.AreEqual("NewValue", vd["Prop"]); }
public void Set_OnNonExistentProperty_SetsValue() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act dynamicVD.Prop = "NewValue"; // Assert Assert.Equal("NewValue", dynamicVD.Prop); Assert.Equal("NewValue", vd["Prop"]); }
public void Indexer_CanAccessViewDataValues() { // Arrange ViewDataDictionary vdd = new ViewDataDictionary(); vdd["Foo"] = "Value for Foo"; dynamic dvdd = DynamicViewDataDictionary.Wrap(vdd); // Act object result = dvdd["Foo"]; // Assert Assert.Equal("Value for Foo", result); }
public void Set_OnExistingProperty_OverridesValue() { // Arrange ViewDataDictionary vd = new ViewDataDictionary() { { "Prop", "Value" } }; dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act dynamicVD.Prop = "NewValue"; // Assert Assert.AreEqual("NewValue", dynamicVD.Prop); Assert.AreEqual("NewValue", vd["Prop"]); }
public void Get_OnExistingProperty_ReturnsValue() { // Arrange ViewDataDictionary vd = new ViewDataDictionary() { { "Prop", "Value" } }; dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act object value = dynamicVD.Prop; // Assert Assert.IsInstanceOfType(value, typeof(string)); Assert.AreEqual("Value", value); }
public void GetDynamicMemberNames_ReturnsKeyNamesForFilledViewDataDictionary() { // Arrange ViewDataDictionary vd = new ViewDataDictionary() { { "Prop1", 1 }, { "Prop2", 2 } }; DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); // Act var result = dvd.GetDynamicMemberNames(); // Assert Assert.Equal(new[] { "Prop1", "Prop2" }, result.OrderBy(s => s).ToArray()); }
public void TryGetMember_OnNonExistentProperty_ReturnsNullAndSucceeds() { // Arrange object result = null; ViewDataDictionary vd = new ViewDataDictionary(); DynamicViewDataDictionary dynamicVD = new DynamicViewDataDictionary(() => vd); Mock <GetMemberBinder> binderMock = new Mock <GetMemberBinder>("Prop", /* ignoreCase */ false); // Act bool success = dynamicVD.TryGetMember(binderMock.Object, out result); // Assert Assert.True(success); Assert.Null(result); }
public void Indexer_GuardClauses() { // Arrange ViewDataDictionary vdd = new ViewDataDictionary(); dynamic dvdd = DynamicViewDataDictionary.Wrap(vdd); // Act & Assert Assert.Throws <ArgumentException>( () => { var x = dvdd["foo", "bar"]; }, "DynamicViewDataDictionary only supports single indexers."); Assert.Throws <ArgumentException>( () => { var x = dvdd[42]; }, "DynamicViewDataDictionary only supports string-based indexers."); }
public void TrySetMember_OnNonExistentProperty_SetsValueAndSucceeds() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); DynamicViewDataDictionary dynamicVD = new DynamicViewDataDictionary(() => vd); Mock <SetMemberBinder> binderMock = new Mock <SetMemberBinder>("Prop", /* ignoreCase */ false); // Act bool success = dynamicVD.TrySetMember(binderMock.Object, "NewValue"); // Assert Assert.True(success); Assert.Equal("NewValue", ((dynamic)dynamicVD).Prop); Assert.Equal("NewValue", vd["Prop"]); }
public void TryGetMember_OnExistingProperty_ReturnsValueAndSucceeds() { // Arrange object result = null; ViewDataDictionary vd = new ViewDataDictionary() { { "Prop", "Value" } }; DynamicViewDataDictionary dynamicVD = new DynamicViewDataDictionary(() => vd); Mock<GetMemberBinder> binderMock = new Mock<GetMemberBinder>("Prop", /* ignoreCase */ false); // Act bool success = dynamicVD.TryGetMember(binderMock.Object, out result); // Assert Assert.IsTrue(success); Assert.AreEqual("Value", result); }
public void Get_OnExistingProperty_ReturnsValue() { // Arrange ViewDataDictionary vd = new ViewDataDictionary() { { "Prop", "Value" } }; dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act object value = dynamicVD.Prop; // Assert Assert.IsType <string>(value); Assert.Equal("Value", value); }
public void GetDynamicMemberNames_ReflectsChangesToUnderlyingViewDataDictionary() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); vd["OldProp"] = 123; DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); vd["NewProp"] = "somevalue"; // Act var result = dvd.GetDynamicMemberNames(); // Assert Assert.Equal(new[] { "NewProp", "OldProp" }, result.OrderBy(s => s).ToArray()); }
public void Set_OnExistingProperty_OverridesValue() { // Arrange ViewDataDictionary vd = new ViewDataDictionary() { { "Prop", "Value" } }; dynamic dynamicVD = new DynamicViewDataDictionary(() => vd); // Act dynamicVD.Prop = "NewValue"; // Assert Assert.Equal("NewValue", dynamicVD.Prop); Assert.Equal("NewValue", vd["Prop"]); }
public void GetDynamicMemberNames_ReflectsChangesToDynamicObject() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); vd["OldProp"] = 123; DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); ((dynamic)dvd).NewProp = "foo"; // Act var result = dvd.GetDynamicMemberNames(); // Assert Assert.Equal(new[] { "NewProp", "OldProp" }, result.OrderBy(s => s).ToArray()); }
public void TryGetMember_OnExistingProperty_ReturnsValueAndSucceeds() { // Arrange object result = null; ViewDataDictionary vd = new ViewDataDictionary() { { "Prop", "Value" } }; DynamicViewDataDictionary dynamicVD = new DynamicViewDataDictionary(() => vd); Mock <GetMemberBinder> binderMock = new Mock <GetMemberBinder>("Prop", /* ignoreCase */ false); // Act bool success = dynamicVD.TryGetMember(binderMock.Object, out result); // Assert Assert.IsTrue(success); Assert.AreEqual("Value", result); }
public void GetDynamicMemberNames_ReturnsEmptyListForEmptyViewDataDictionary() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); // Act IEnumerable<string> result = dvd.GetDynamicMemberNames(); // Assert Assert.Empty(result); }
public void TryGetMember_OnNonExistentProperty_ReturnsNullAndSucceeds() { // Arrange object result = null; ViewDataDictionary vd = new ViewDataDictionary(); DynamicViewDataDictionary dynamicVD = new DynamicViewDataDictionary(() => vd); Mock<GetMemberBinder> binderMock = new Mock<GetMemberBinder>("Prop", /* ignoreCase */ false); // Act bool success = dynamicVD.TryGetMember(binderMock.Object, out result); // Assert Assert.True(success); Assert.Null(result); }
public void GetDynamicMemberNames_ReflectsChangesToDynamicObject() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); vd["OldProp"] = 123; DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); ((dynamic)dvd).NewProp = "foo"; // Act var result = dvd.GetDynamicMemberNames(); // Assert CollectionAssert.AreEqual(new[] { "NewProp", "OldProp" }, result.OrderBy(s => s).ToList()); }
public void GetDynamicMemberNames_ReturnsKeyNamesForFilledViewDataDictionary() { // Arrange ViewDataDictionary vd = new ViewDataDictionary() { { "Prop1", 1 }, { "Prop2", 2 } }; DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); // Act var result = dvd.GetDynamicMemberNames(); // Assert CollectionAssert.AreEqual(new[] { "Prop1", "Prop2" }, result.OrderBy(s => s).ToList()); }
public void GetDynamicMemberNames_ReturnsEmptyListForEmptyViewDataDictionary() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); DynamicViewDataDictionary dvd = new DynamicViewDataDictionary(() => vd); // Act var result = dvd.GetDynamicMemberNames(); // Assert Assert.AreEqual(0, result.Count()); }
public void TrySetMember_OnNonExistentProperty_SetsValueAndSucceeds() { // Arrange ViewDataDictionary vd = new ViewDataDictionary(); DynamicViewDataDictionary dynamicVD = new DynamicViewDataDictionary(() => vd); Mock<SetMemberBinder> binderMock = new Mock<SetMemberBinder>("Prop", /* ignoreCase */ false); // Act bool success = dynamicVD.TrySetMember(binderMock.Object, "NewValue"); // Assert Assert.IsTrue(success); Assert.AreEqual("NewValue", ((dynamic)dynamicVD).Prop); Assert.AreEqual("NewValue", vd["Prop"]); }
protected virtual void SetViewBag(DynamicViewDataDictionary viewBag) { _viewBag = viewBag; }