Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }