public void LiteralReplacementEnumAndString() { var args = new { x = AnEnum.B, y = 123.45M, z = AnotherEnum.A }; var row = connection.Query("select {=x} as x,{=y} as y,cast({=z} as tinyint) as z", args).Single(); AnEnum x = (AnEnum)(int)row.x; decimal y = row.y; AnotherEnum z = (AnotherEnum)(byte)row.z; x.Equals(AnEnum.B); y.Equals(123.45M); z.Equals(AnotherEnum.A); }
// Private function // If classes are from another Beats2.* package, add a using to the top private static EnumName(AnotherEnum n) { switch(n) { // Case is indented case AnotherEnum.LOWEST_ENUM: case AnotherEnum.MIDDLE_ENUM: // New line for return unless VERY short return call return EnumName.FIRST_ENUM_ITEM; case AnotherEnum.LAST_ENUM: return EnumName.SECOND_ENUM_ITEM; // Always separate the default value at bottom default: return EnumName.THIRD_ENUM_ITEM; } }
public void LiteralReplacementDynamicEnumAndString() { var args = new DynamicParameters(); args.Add("x", AnEnum.B); args.Add("y", 123.45M); args.Add("z", AnotherEnum.A); var row = connection.Query("select {=x} as x,{=y} as y,cast({=z} as tinyint) as z", args).Single(); AnEnum x = (AnEnum)(int)row.x; decimal y = row.y; AnotherEnum z = (AnotherEnum)(byte)row.z; x.Equals(AnEnum.B); y.Equals(123.45M); z.Equals(AnotherEnum.A); }
// Private function // If classes are from another Beats2.* package, add a using to the top private static EnumName(AnotherEnum n) { switch (n) { // Case is indented case AnotherEnum.LOWEST_ENUM: case AnotherEnum.MIDDLE_ENUM: // New line for return unless VERY short return call return(EnumName.FIRST_ENUM_ITEM); case AnotherEnum.LAST_ENUM: return(EnumName.SECOND_ENUM_ITEM); // Always separate the default value at bottom default: return(EnumName.THIRD_ENUM_ITEM); } }
public void IsValid() { var attr = new EnumDataTypeAttribute(typeof(string)); try { attr.IsValid(null); Assert.Fail("#A1-1"); } catch (InvalidOperationException) { // success } try { attr.IsValid("stuff"); Assert.Fail("#A1-2"); } catch (InvalidOperationException) { // success } attr = new EnumDataTypeAttribute(typeof(TestEnum)); Assert.IsTrue(attr.IsValid(null), "#A2-1"); Assert.IsTrue(attr.IsValid(1), "#A2-2"); Assert.IsFalse(attr.IsValid(0), "#A2-3"); Assert.IsTrue(attr.IsValid(TestEnum.Two), "#A2-4"); Assert.IsFalse(attr.IsValid(AnotherEnum.Five), "#A2-5"); Assert.IsFalse(attr.IsValid("stuff"), "#A2-5"); AnotherEnum val = AnotherEnum.Six; Assert.IsFalse(attr.IsValid(val), "#A2-6"); Assert.IsTrue(attr.IsValid(String.Empty), "#A2-7"); Assert.IsTrue(attr.IsValid("Three"), "#A2-8"); Assert.IsFalse(attr.IsValid("Four"), "#A2-9"); Assert.IsFalse(attr.IsValid(true), "#A2-10"); Assert.IsFalse(attr.IsValid(' '), "#A2-11"); Assert.IsFalse(attr.IsValid(0.12F), "#A2-12"); Assert.IsTrue(attr.IsValid((short)1), "#A2-13"); Assert.IsFalse(attr.IsValid(12.3M), "#A2-14"); Assert.IsFalse(attr.IsValid(12.3D), "#A2-15"); Assert.IsTrue(attr.IsValid((long)1), "#A2-16"); attr = new EnumDataTypeAttribute(typeof(AnotherEnum)); Assert.IsTrue(attr.IsValid(null), "#A3-1"); Assert.IsTrue(attr.IsValid(4), "#A3-2"); Assert.IsFalse(attr.IsValid(0), "#A3-3"); Assert.IsTrue(attr.IsValid(AnotherEnum.Five), "#A3-4"); Assert.IsFalse(attr.IsValid(TestEnum.One), "#A3-5"); Assert.IsFalse(attr.IsValid("stuff"), "#A3-5"); val = AnotherEnum.Four; Assert.IsTrue(attr.IsValid(val), "#A3-6"); Assert.IsTrue(attr.IsValid(String.Empty), "#A3-7"); Assert.IsTrue(attr.IsValid("Four"), "#A3-8"); Assert.IsFalse(attr.IsValid("Three"), "#A3-9"); Assert.IsTrue(attr.IsValid(12), "#A3-10"); Assert.IsTrue(attr.IsValid("Five, Six"), "#A3-11"); Assert.IsFalse(attr.IsValid(true), "#A3-12"); Assert.IsFalse(attr.IsValid(' '), "#A3-13"); Assert.IsFalse(attr.IsValid(0.12), "#A3-14"); }