public void MemberAttributes()
        {
            IClassMapping rm = new AttributeOverXmlClassMapping(GetXmlClassMapping(typeof (MixAddress)));
            MemberInfo mi = typeof (MixAddress).GetField("floor");
            var mas = new List<Attribute>(rm.GetMemberAttributes(mi));
            Assert.AreEqual(1, mas.Count);

            mi = typeof (MixAddress).GetProperty("Zip");
            mas = new List<Attribute>(rm.GetMemberAttributes(mi));
            Assert.AreEqual(3, mas.Count);

            mi = typeof (MixAddress).GetProperty("Id");
            mas = new List<Attribute>(rm.GetMemberAttributes(mi));
            Assert.AreEqual(2, mas.Count);
            foreach (var ma in mas)
            {
                var ra = ma as RangeAttribute;
                if (ra != null)
                {
                    Assert.AreEqual(2000, ra.Max);
                }
            }

            rm = new XmlOverAttributeClassMapping(GetXmlClassMapping(typeof (MixAddress)));
            mi = typeof (MixAddress).GetField("floor");
            mas = new List<Attribute>(rm.GetMemberAttributes(mi));
            Assert.AreEqual(1, mas.Count);

            mi = typeof (MixAddress).GetProperty("Zip");
            mas = new List<Attribute>(rm.GetMemberAttributes(mi));
            Assert.AreEqual(3, mas.Count);

            mi = typeof (MixAddress).GetProperty("Id");
            mas = new List<Attribute>(rm.GetMemberAttributes(mi));
            Assert.AreEqual(2, mas.Count);
            foreach (var ma in mas)
            {
                var ra = ma as RangeAttribute;
                if (ra != null)
                {
                    Assert.AreEqual(9999, ra.Max);
                }
            }
        }