Exemplo n.º 1
0
        public void TestEnumToDEProperty()
        {
            var r = new Reflector(typeof(HasEnums));
            var e = new HasEnums();

            e.Address = Options.Home;

            var de = r.ToDataEntity(e);

            Assert.AreEqual("Home", de.Properties["Address"]);
        }
Exemplo n.º 2
0
        public void TestEnumPropertyRoundTrip()
        {
            var r = new Reflector(typeof(HasEnums));
            var e = new HasEnums();

            e.Address = Options.Home;

            var de = r.ToDataEntity(e);

            var newE = r.To <HasEnums>(de);

            Assert.AreEqual(e.Address, newE.Address);
        }
Exemplo n.º 3
0
        public void TestEnumPropertySetByInt()
        {
            var r = new Reflector(typeof(HasEnums));
            var e = new HasEnums();

            e.Address = Options.Home;

            var de = r.ToDataEntity(e);

            de.Properties["Address"] = 1;
            var newE = r.To <HasEnums>(de);

            Assert.AreEqual(Options.Shipping, newE.Address);
        }
Exemplo n.º 4
0
        public void FailTestEnumPropertySetByBadString()
        {
            var r = new Reflector(typeof(HasEnums));
            var e = new HasEnums();

            e.Address = Options.Home;

            var de = r.ToDataEntity(e);

            de.Properties["Address"] = "NotValid";
            try { var newE = r.To <HasEnums>(de); }
            catch (InvalidStringValueForEnumException ex)
            {
                Assert.AreEqual("The value 'NotValid' is not a valid entry for enum type 'ReflectionTestModels.Options'. Valid values are None, Shipping, Billing, Home.", ex.Message);
                return;
            }
            Assert.Fail("Expected InvalidStringValueForEnumException was not thrown.");
        }