public void Constructor_ValueAsValueArgument_ShouldSetValueProperty()
        {
            var expectations = Expectations.GetMetadataValues();
            
            foreach (var e in expectations)
            {
                var attribute = new ExportMetadataAttribute("Name", e);

                Assert.AreEqual(e, attribute.Value);
            }
        }
        public void IsMultiple_ValueAsValueArgument_ShouldSetPropert()
        {
            var expectations = Expectations.GetBooleans();

            var attribute = new ExportMetadataAttribute("Name", "Value");

            foreach (var e in expectations)
            {
                attribute.IsMultiple = e;
                Assert.AreEqual(e, attribute.IsMultiple);
            }
        }
        public void IsMultiple_ValueAsValueArgument_ShouldSetPropert()
        {
            var expectations = Expectations.GetBooleans();

            var attribute = new ExportMetadataAttribute("Name", "Value");

            foreach (var e in expectations)
            {
                attribute.IsMultiple = e;
                Assert.AreEqual(e, attribute.IsMultiple);
            }
        }
        public void Constructor_ShouldSetIsMultiplePropertyToFalse()
        {
            var attribute = new ExportMetadataAttribute("Name", "Value");

            Assert.IsFalse(attribute.IsMultiple);
        }
        public void Constructor_NullAsNameArgument_ShouldSetNamePropertyToEmptyString()
        {
            var attribute = new ExportMetadataAttribute((string)null, "Value");

            Assert.AreEqual(string.Empty, attribute.Name);
        }
        public void Constructor_ShouldSetIsMultiplePropertyToFalse()
        {
            var attribute = new ExportMetadataAttribute("Name", "Value");

            Assert.IsFalse(attribute.IsMultiple);
        }
        public void Constructor_NullAsNameArgument_ShouldSetNamePropertyToEmptyString()
        {
            var attribute = new ExportMetadataAttribute((string)null, "Value");

            Assert.AreEqual(string.Empty, attribute.Name);
        }
 protected override IEnumerable<object> GetCustomAttributes(ParameterInfo parameter, IEnumerable<object> declaredAttributes)
 {
     Attribute packageIdAttr = new ExportMetadataAttribute(AddInConstants.PackageIdMetadataName, this._packageId);
     Attribute packageVersionAttr = new ExportMetadataAttribute(AddInConstants.PackageVersionMetadataName, this._packageVersion);
     return declaredAttributes.Concat(new[] { packageIdAttr, packageVersionAttr });
 }