示例#1
0
        public void With_returns_original_value_if_no_field_modification()
        {
            var x = new DummyCloneable()
            {
                Field = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Field, x.Field);
            Assert.Same(x, y);
        }
示例#2
0
        public void With_returns_original_value_if_no_field_modification()
        {
            var x = new DummyCloneable()
            {
                Field    = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Field, x.Field);

            Assert.Same(x, y);
        }
示例#3
0
        public void With_returns_a_clone()
        {
            var x = new DummyCloneable()
            {
                Field = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Property += 1);

            Assert.NotSame(x, y);
            Assert.Equal(x.Field, y.Field);
            Assert.NotEqual(x.Property, y.Property);
        }
示例#4
0
        public void With_returns_clone_if_property_value_differs()
        {
            var x = new DummyCloneable()
            {
                Field = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Property, 52);

            Assert.NotSame(x, y);
            Assert.Equal(4242, x.Property);
            Assert.Equal(52, y.Property);
        }
示例#5
0
        public void With_returns_clone_if_field_value_differs()
        {
            var x = new DummyCloneable()
            {
                Field = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Field, "5252");

            Assert.NotSame(x, y);
            Assert.Equal("42", x.Field);
            Assert.Equal("5252", y.Field);
        }
示例#6
0
        public void With_returns_a_clone()
        {
            var x = new DummyCloneable()
            {
                Field    = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Property += 1);

            Assert.NotSame(x, y);
            Assert.Equal(x.Field, y.Field);
            Assert.NotEqual(x.Property, y.Property);
        }
示例#7
0
        public void With_returns_clone_if_property_value_differs()
        {
            var x = new DummyCloneable()
            {
                Field    = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Property, 52);

            Assert.NotSame(x, y);
            Assert.Equal(4242, x.Property);
            Assert.Equal(52, y.Property);
        }
示例#8
0
        public void With_returns_clone_if_field_value_differs()
        {
            var x = new DummyCloneable()
            {
                Field    = "42",
                Property = 4242,
            };

            var y = x.With(c => c.Field, "5252");

            Assert.NotSame(x, y);
            Assert.Equal("42", x.Field);
            Assert.Equal("5252", y.Field);
        }