public void Should_go_way_deep() { Expression <Func <WayOuterClass, object> > accessor = o => o.Outer.Inner.Value; SafeProperty writer = accessor.CreateSafeProperty(); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); subject.Outer.Inner.Value.ShouldEqual(expected); }
public void Should_go_way_deep() { Expression <Func <WayOuterClass, object> > accessor = o => o.Outer.Inner.Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); Assert.AreEqual(expected, subject.Outer.Inner.Value); }
public void Should_create_a_list_for_an_indexed_property_value() { Expression <Func <WayOuterClass, int, object> > accessor = (o, index) => o.Outer.Inners[index].Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); Assert.IsNotNull(subject.Outer.Inners); Assert.AreEqual(expected, subject.Outer.Inners[0].Value); }
public void Should_create_a_backing_list_for_list_based_properties_way_deep() { Expression <Func <WayOuterClass, object> > accessor = o => o.Outer.Inners[0].Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); Assert.IsNotNull(subject.Outer.Inners); Assert.AreEqual(expected, subject.Outer.Inners[0].Value); }
public void Should_create_a_list_for_an_indexed_property_value() { Expression<Func<WayOuterClass, int, object>> accessor = (o,index) => o.Outer.Inners[index].Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); Assert.IsNotNull(subject.Outer.Inners); Assert.AreEqual(expected, subject.Outer.Inners[0].Value); }
public void Should_create_a_backing_list_for_list_based_properties_way_deep() { Expression <Func <WayOuterClass, object> > accessor = o => o.Outer.Inners[0].Value; SafeProperty writer = accessor.CreateSafeProperty(); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); subject.Outer.Inners.ShouldNotBeNull(); subject.Outer.Inners[0].Value.ShouldEqual(expected); }
public void Should_create_a_backing_list_for_list_based_properties_way_deep() { Expression<Func<WayOuterClass, object>> accessor = o => o.Outer.Inners[0].Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); Assert.IsNotNull(subject.Outer.Inners); Assert.AreEqual(expected, subject.Outer.Inners[0].Value); }
public void Should_create_a_backing_list_for_list_based_properties_way_deep() { Expression<Func<WayOuterClass, object>> accessor = o => o.Outer.Inners[0].Value; SafeProperty writer = accessor.CreateSafeProperty(); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); subject.Outer.Inners.ShouldNotBeNull(); subject.Outer.Inners[0].Value.ShouldEqual(expected); }
public void Should_work_for_indexed_properties_way_deep() { Expression <Func <WayOuterClass, int, object> > accessor = (o, index) => o.Outers[index].Inner.Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 1, expected); Assert.IsNotNull(subject.Outers); Assert.AreEqual(2, subject.Outers.Count); Assert.IsNotNull(subject.Outers[1].Inner); Assert.AreEqual(expected, subject.Outers[1].Inner.Value); }
public void Should_work_for_indexed_properties_way_deep() { Expression<Func<WayOuterClass, int, object>> accessor = (o,index) => o.Outers[index].Inner.Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 1, expected); Assert.IsNotNull(subject.Outers); Assert.AreEqual(2, subject.Outers.Count); Assert.IsNotNull(subject.Outers[1].Inner); Assert.AreEqual(expected, subject.Outers[1].Inner.Value); }
public void Should_go_way_deep() { Expression<Func<WayOuterClass, object>> accessor = o => o.Outer.Inner.Value; var writer = SafeProperty.Create(accessor); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); Assert.AreEqual(expected, subject.Outer.Inner.Value); }
public void Should_go_way_deep() { Expression<Func<WayOuterClass, object>> accessor = o => o.Outer.Inner.Value; SafeProperty writer = accessor.CreateSafeProperty(); const string expected = "Hello"; var subject = new WayOuterClass(); writer.Set(subject, 0, expected); subject.Outer.Inner.Value.ShouldEqual(expected); }