예제 #1
0
        public void Returns_default_value_if_no_enum_found()
        {
            const MyTestEnum myEnum = MyTestEnum.Value1;

            var result = myEnum.Switch()
                         .When(MyTestEnum.Value2, () => "Value2")
                         .When(MyTestEnum.Value3, () => "Value3")
                         .Value();

            Assert.AreEqual(default(string), result);
        }
        public void When_a_valid_enum_value_is_passed_to_IsValidEnumValue()
        {
            MyTestEnum value = MyTestEnum.AnotherValue;

            // Act.
            Action action = () =>
                            Ensure.Arg(value).IsValidEnumValue();

            // Assert.
            action.ShouldNotThrow();
        }
예제 #3
0
        public void Returns_default_value_even_when_not_declared_as_the_last_method_in_the_chain()
        {
            const MyTestEnum myEnum = MyTestEnum.Value1;

            var result = myEnum.Switch()
                         .Else(() => "Not Found")
                         .When(MyTestEnum.Value2, () => "Value2")
                         .When(MyTestEnum.Value3, () => "Value3")
                         .Value();

            Assert.AreEqual("Not Found", result);
        }
예제 #4
0
        public void Returns_the_default_if_no_enum_if_found()
        {
            const MyTestEnum myEnum = MyTestEnum.Value1;

            var result = myEnum.Switch()
                         .When(MyTestEnum.Value2, () => "Value2")
                         .When(MyTestEnum.Value3, () => "Value3")
                         .Else(() => "Not Found")
                         .Value();

            Assert.AreEqual("Not Found", result);
        }
예제 #5
0
        public void Returns_the_string_when_the_enum_if_found()
        {
            const MyTestEnum myEnum = MyTestEnum.Value1;

            var result = myEnum.Switch()
                         .When(MyTestEnum.Value1, () => "Found")
                         .When(MyTestEnum.Value2, () => "Value2")
                         .When(MyTestEnum.Value3, () => "Value3")
                         .Value();

            Assert.AreEqual("Found", result);
        }
        public void When_enum_value_is_invalid_an_InvalidEnumArgumentException_is_thrown()
        {
            // Arrange.
            MyTestEnum value = (MyTestEnum)(-1);

            // Act.
            Action action = () =>
                            Ensure.Arg(value).IsValidEnumValue();

            // Assert.
            action.ShouldThrow <InvalidEnumArgumentException>();
        }
예제 #7
0
        //主要是函数过程测试
        public int GetHurt(List <string> list, TestClass testClass, int callNum)
        {
            //变量声明语法
            var        testVar    = 0;
            int        TestInt    = 0;
            uint       TestUint   = 0;
            short      testshort  = 0;
            ushort     testUshort = 0;
            ulong      testUulong = 0;
            long       testUlong  = 0;
            float      testFloat  = 0f;
            double     testdouble = 0f;
            string     Teststring = "sss";
            bool       Testbool   = false;
            MyTestEnum myTestEnum = MyTestEnum.One;

            int[]      TestArray = new int[] { 1, 2 };
            List <int> TestList  = new List <int> {
                1, 2, 3, 4
            };
            List <string> TestList1 = new List <string> {
                "false", "false"
            };


            //API 转译
            var listLen = TestList.Count;
            var arrLen  = TestArray.Length;

            TestList.RemoveAt(0);
            TestList.Add(100);
            TestList.Clear();

            // 字典,数组访问 局部变量,类函数,静态函数调用测试
            dic[100] = "dd";
            var b = list[0];

            dic[100] = list[0];
            StShow();
            ShowTest(100);
            var attack = GetMaxAttack(100);

            GetMaxAttack(100);
            testClass.Show();

            //调用其他类的静态函数
            TestClass1.TestSTATICshow();

            //实例化类测试
            var test = new TestClass();

            //获得实例化测试
            var test1 = Init();

            test1.Show();

            //基础运算符
            var num1 = 100 + 2 - 10 * 100 / 2;

            //for表达式
            for (int i = 10; i < testClass.lists.Count; i++)
            {
                i++;
            }

            //不支持foreach 直接忽略
            foreach (var item in list)
            {
            }

            //不支持while 直接忽略
            while (list.Count > 0)
            {
            }


            //if表达式
            if (myTestEnum == MyTestEnum.One || testClass.dic[100] != "test" && myTestEnum == MyTestEnum.Tow)
            {
                dic[100] = "dd";
            }
            else if (myTestEnum == MyTestEnum.Tow)
            {
                dic[100] = "dd1";
            }
            else
            {
                dic[100] = "dd2";
            }

            //switch表达式
            switch (testClass.GetMaxAttack(100))
            {
            case 1:
                //嵌套测试 1
                for (int i = 10; i < 100; i++)
                {
                    i++;
                    //嵌套测试 2
                    for (int k = 10; k < 100; k++)
                    {
                        k++;

                        //嵌套测试 3
                        switch (1)
                        {
                        case 1:
                            break;

                        case 2:
                            if (myTestEnum == MyTestEnum.One || testClass.dic[100] != "test" && myTestEnum == MyTestEnum.Tow)
                            {
                                dic[100] = "dd";
                            }
                            else if (myTestEnum == MyTestEnum.Tow)
                            {
                                dic[100] = "dd1";
                            }
                            else
                            {
                                dic[100] = "dd2";
                            }
                            break;
                        }
                    }
                }

                break;


            //+= /= -= 测试
            case 2:
                var k1 = 1;
                k1 += 1;
                break;

            case 3:
                var k2 = 1;
                k2 -= 1;
                break;

            default:
                var k3 = 1;
                k3 /= 1;
                break;
            }

            //返回值
            return(0);
        }