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"]); }
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); }
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); }
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."); }