示例#1
0
        public void ChainProperties() {
            dynamic foo = new Animal();
            foo.Bar("bar");

            Assert.That(foo.Bar, Is.EqualTo("bar"));
            Assert.That(foo.Bar == null, Is.False);
        }
示例#2
0
        public void CompositesShouldAccessKnownPropertiesByIndex()
        {
            dynamic composite = new Animal();

            composite["Pink"] = "Pink";
            Assert.Equal("Pink", composite["Pink"]);
        }
示例#3
0
        public void CompositesShouldAccessUnknownPropertiesByIndex()
        {
            dynamic composite = new Animal();

            composite["Fake"] = 42;
            Assert.Equal(42, composite["Fake"]);
        }
示例#4
0
        public void CompositesShouldAccessUnknownProperties()
        {
            dynamic composite = new Animal();

            composite.Fake = 42;
            Assert.Equal(42, composite.Fake);
        }
示例#5
0
        public void CompositesShouldNotOverrideExistingMembersWhenUsedAsDynamic()
        {
            dynamic composite = new Animal();

            composite.Color = "Pink";
            Assert.Equal("Pink", composite.Color);
        }
示例#6
0
        public void DuckTyping() {
            dynamic foo = new Animal();
            foo.Size(42);

            ISized sized = foo;
            
            Assert.That(sized.Size, Is.EqualTo(42));
        }
示例#7
0
        public void ChainProperties()
        {
            dynamic foo = new Animal();
            foo.Bar("bar");

            Assert.Equal("bar", foo.Bar);
            Assert.False(foo.Bar == null);
        }
示例#8
0
        public void CompositesShouldNotOverrideExistingMembers() {
            var composite = new Animal {Color = "Pink"};

            Assert.That(composite.Color, Is.EqualTo("Pink"));
        }
示例#9
0
        public void CompositesShouldAccessUnknownProperties() {
            dynamic composite = new Animal();

            composite.Fake = 42;
            Assert.That(composite.Fake, Is.EqualTo(42));
        }
示例#10
0
        public void CompositesShouldNotOverrideExistingMembers()
        {
            var composite = new Animal { Color = "Pink" };

            Assert.Equal("Pink", composite.Color);
        }