예제 #1
0
        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;
     }
 }
예제 #3
0
        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);
        }
예제 #4
0
        // 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);
            }
        }
예제 #5
0
        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");
        }