public void Ctor_Default()
        {
            var subAttributeCollection = new SubAttributeCollection();

            Assert.Equal(0, subAttributeCollection.Count);
            Assert.Empty(subAttributeCollection);
        }
        public void Contains_InvokeAttributeEmpty_ReturnsExpected()
        {
            var collection = new SubAttributeCollection();

            Assert.False(collection.Contains(new BrowsableAttribute(false)));
            Assert.False(collection.Contains((Attribute)null));
        }
        public void Matches_Default_ReturnsFalse()
        {
            var attributeCollection = new SubAttributeCollection();

            Assert.False(attributeCollection.Matches(new ReadOnlyAttribute(true)));
            Assert.False(attributeCollection.Matches(new Attribute[] { new ReadOnlyAttribute(true) }));
        }
        public void Ctor_Attributes(Attribute[] attributes, Attribute[] expected)
        {
            var collection = new SubAttributeCollection(attributes);

            Assert.Equal(expected, collection.Attributes);
            Assert.Equal(expected.Length, collection.Count);
            Assert.Equal(expected, collection.Cast <Attribute>());
        }
        public void CopyTo_Default_Nop()
        {
            var attributeCollection = new SubAttributeCollection();
            var array = new object[] { 1, 2, 3 };

            attributeCollection.CopyTo(array, 1);
            Assert.Equal(new object[] { 1, 2, 3 }, array);
        }
        public void CopyTo_InvokeEmpty_Success(int index)
        {
            var collection = new SubAttributeCollection();
            var array      = new object[] { 1, 2, 3 };

            collection.CopyTo(array, index);
            Assert.Equal(new object[] { 1, 2, 3 }, array);
        }
        public void Item_GetTypeParameterlessConstructorDefault_ReturnsExpected()
        {
            var collection = new SubAttributeCollection();
            AttributeWithDefaultConstructor result = Assert.IsType <AttributeWithDefaultConstructor>(collection[typeof(AttributeWithDefaultConstructor)]);

            // Call again.
            Assert.Same(result, collection[typeof(AttributeWithDefaultConstructor)]);
        }
        public void Item_GetTypeNoDefault_ReturnsNull(Type attributeType)
        {
            var collection = new SubAttributeCollection();

            Assert.Null(collection[attributeType]);

            // Call again.
            Assert.Null(collection[attributeType]);
        }
        public void Matches_InvokeAttributesEmpty_ReturnsExpected()
        {
            var collection = new SubAttributeCollection();

            Assert.False(collection.Matches(new Attribute[] { new BrowsableAttribute(false) }));
            Assert.False(collection.Matches(new Attribute[] { null }));
            Assert.True(collection.Matches(new Attribute[0]));
            Assert.True(collection.Matches((Attribute[])null));
        }
        public void GetDefaultAttribute_InvalidType_ReturnsNull()
        {
            var collection = new SubAttributeCollection();

            Assert.Throws <InvalidCastException>(() => collection.GetDefaultAttribute(typeof(AttributeCollectionTests)));

            // Call again.
            Assert.Throws <InvalidCastException>(() => collection.GetDefaultAttribute(typeof(AttributeCollectionTests)));
        }
        public void GetDefaultAttribute_NoDefault_ReturnsNull(Type attributeType)
        {
            var collection = new SubAttributeCollection();

            Assert.Null(collection.GetDefaultAttribute(attributeType));

            // Call again.
            Assert.Null(collection.GetDefaultAttribute(attributeType));
        }
        public void GetDefaultAttribute_InvokeCustom_ReturnsExpected()
        {
            var collection            = new SubAttributeCollection();
            BrowsableAttribute result = Assert.IsType <BrowsableAttribute>(collection.GetDefaultAttribute(typeof(BrowsableAttribute)));

            Assert.True(result.Browsable);

            // Call again.
            Assert.Same(result, collection.GetDefaultAttribute(typeof(BrowsableAttribute)));
        }
        public void Item_GetTypeDefaultFieldNotDefault_ReturnsExpected()
        {
            var collection = new SubAttributeCollection();
            AttributeWithDefaultFieldNotDefault result = Assert.IsType <AttributeWithDefaultFieldNotDefault>(collection[typeof(AttributeWithDefaultFieldNotDefault)]);

            Assert.Same(AttributeWithDefaultFieldNotDefault.Default, result);

            // Call again.
            Assert.Same(result, collection[typeof(AttributeWithDefaultFieldNotDefault)]);
        }
        public void GetDefaultAttribute_InvokeDefaultField_ReturnsExpected()
        {
            var collection = new SubAttributeCollection();
            AttributeWithDefaultField result = Assert.IsType <AttributeWithDefaultField>(collection.GetDefaultAttribute(typeof(AttributeWithDefaultField)));

            Assert.Same(AttributeWithDefaultField.Default, result);

            // Call again.
            Assert.Same(result, collection.GetDefaultAttribute(typeof(AttributeWithDefaultField)));
        }
        public void Item_GetTypeCustom_ReturnsExpected()
        {
            var collection            = new SubAttributeCollection();
            BrowsableAttribute result = Assert.IsType <BrowsableAttribute>(collection[typeof(BrowsableAttribute)]);

            Assert.True(result.Browsable);

            // Call again.
            Assert.Same(result, collection[typeof(BrowsableAttribute)]);
        }
        public void Ctor_ModifyAttributes_UpdatesInnerArray()
        {
            var attribute1 = new BrowsableAttribute(true);
            var attribute2 = new ReadOnlyAttribute(true);
            var attributes = new Attribute[] { attribute1 };
            var collection = new SubAttributeCollection(attributes);

            Assert.Equal(attributes, collection.Attributes);
            Assert.Equal(new Attribute[] { attribute1 }, collection.Cast <Attribute>());

            // Change.
            attributes[0] = attribute2;
            Assert.Equal(new Attribute[] { attribute2 }, collection.Cast <Attribute>());
        }
        public void CopyTo_InvokeNotEmpty_Success()
        {
            var attribute1 = new BrowsableAttribute(true);
            var attribute2 = new ReadOnlyAttribute(true);
            var collection = new SubAttributeCollection(attribute1, attribute2);

            var array = new object[] { 1, 2, 3 };

            collection.CopyTo(array, 0);
            Assert.Equal(new object[] { attribute1, attribute2, 3 }, array);

            array = new object[] { 1, 2, 3 };
            collection.CopyTo(array, 1);
            Assert.Equal(new object[] { 1, attribute1, attribute2 }, array);
        }
Example #18
0
        public void CopyTo_Default_Nop()
        {
            var attributeCollection = new SubAttributeCollection();
            var array = new object[] { 1, 2, 3 };

            if (!PlatformDetection.IsFullFramework)
            {
                attributeCollection.CopyTo(array, 1);
            }
            else
            {
                Assert.Throws <NullReferenceException>(() => attributeCollection.CopyTo(array, 1));
            }
            Assert.Equal(new object[] { 1, 2, 3 }, array);
        }
Example #19
0
        public void Matches_Default_ReturnsFalse()
        {
            var attributeCollection = new SubAttributeCollection();

            if (!PlatformDetection.IsFullFramework)
            {
                Assert.False(attributeCollection.Matches(new ReadOnlyAttribute(true)));
                Assert.False(attributeCollection.Matches(new Attribute[] { new ReadOnlyAttribute(true) }));
            }
            else
            {
                Assert.Throws <NullReferenceException>(() => attributeCollection.Matches(new ReadOnlyAttribute(true)));
                Assert.Throws <NullReferenceException>(() => attributeCollection.Matches(new Attribute[] { new ReadOnlyAttribute(true) }));
            }
        }
Example #20
0
        public void Ctor_Default()
        {
            var subAttributeCollection = new SubAttributeCollection();

            if (!PlatformDetection.IsFullFramework)
            {
                Assert.Equal(0, subAttributeCollection.Count);
                Assert.Empty(subAttributeCollection);
            }
            else
            {
                Assert.Throws <NullReferenceException>(() => subAttributeCollection.Count);
                Assert.Throws <NullReferenceException>(() => subAttributeCollection.GetEnumerator());
            }
        }
        public void CopyTo_NullArray_ThrowsArgumentNullException()
        {
            var collection = new SubAttributeCollection();

            Assert.Throws <ArgumentNullException>("destinationArray", () => collection.CopyTo(null, 0));
        }
        public void GetDefaultAttribute_NullAttributeType_ThrowsArgumentNullException()
        {
            var collection = new SubAttributeCollection();

            Assert.Throws <ArgumentNullException>("attributeType", () => collection.GetDefaultAttribute(null));
        }
        public void Ctor_Default()
        {
            var subAttributeCollection = new SubAttributeCollection();

            Assert.Throws <NullReferenceException>(() => subAttributeCollection.Count);
        }