Пример #1
0
        public void P_Flag_Exist_Port_HasValue()
        {
            //arrage
            ArgsSchema argsSchema = new ArgsSchema("-p 8080");

            //act
            string actual = argsSchema.Port;

            //assert
            Assert.Equal("8080", actual);
        }
Пример #2
0
        public void L_Flag_Exist_Loggin_IsTrue()
        {
            //arrage
            ArgsSchema argsSchema = new ArgsSchema("-l");

            //act
            bool actual = argsSchema.Loggin;

            //assert
            Assert.True(actual);
        }
Пример #3
0
        public void L_Flag_NoExist_Loggin_IsFalse()
        {
            //arrage
            ArgsSchema argsSchema = new ArgsSchema("");

            //act
            bool actual = argsSchema.Loggin;

            //assert
            Assert.False(actual);
        }
Пример #4
0
        public void Text_IsNull_Throw_ArgumentNullException()
        {
            //arrage
            ArgsSchema argsSchema;

            //act
            Action actual = () => argsSchema = new ArgsSchema(null);

            //assert
            Assert.Throws <ArgumentNullException>(actual);
        }
Пример #5
0
        public static ArgsParser InitArgsParam(string argsText, string schemaText, out ArgsSchema argsSchema)
        {
            //1.把命令行字符串拆分成main函数可用的字符串数组
            var argsArray = new ArgsParser(argsText);

            Assert.IsNotNull(argsArray);

            //2. 把字符串形式的Schema解析成对象
            argsSchema = new ArgsSchema(schemaText);
            Assert.IsNotNull(argsSchema);
            return(argsArray);
        }
Пример #6
0
        public void D_Flag_Exist_IntList_HasValue()
        {
            //arrage
            ArgsSchema argsSchema = new ArgsSchema("-d 1,2,-3,5");

            //act
            List <int> actual = argsSchema.IntList;
            var        result = new List <int> {
                1, 2, -3, 5
            };

            //assert
            Assert.Equal(result, actual);
        }
Пример #7
0
        public void G_Flag_Exist_StringList_HasValue()
        {
            //arrage
            ArgsSchema argsSchema = new ArgsSchema("-g this,is,a,list");

            //act
            List <string> actual = argsSchema.StringList;
            var           result = new List <string> {
                "this", "is", "a", "list"
            };

            //assert
            Assert.Equal(result, actual);
        }
Пример #8
0
        public void Text_IsNull_IFlags_Throw_ArgumentNullException()
        {
            //arrage
            var flags = new Mock <IFlags>();

            flags.Setup(x => x.GetFlags(null)).Throws <ArgumentNullException>();

            ArgsSchema argsSchema = new ArgsSchema(flags.Object);

            //act
            Action actual = () => argsSchema.GetArgs(null);

            //assert
            Assert.Throws <ArgumentNullException>(actual);
        }
Пример #9
0
        public void IFlags_Has_IntList_Property_HasValue()
        {
            //arrage
            var values = new Dictionary <string, string>
            {
                { "d", "1, 2, -3, 9" }
            };
            var flags = new Mock <IFlags>();

            flags.Setup(x => x.GetFlags(It.IsAny <string>())).Returns(values);

            ArgsSchema argsSchema = new ArgsSchema(flags.Object);

            argsSchema.GetArgs("-d");

            //act
            List <int> actual = argsSchema.IntList;

            //assert
            Assert.Equal(new[] { 1, 2, -3, 9 }, actual);
        }
Пример #10
0
        public void IFlags_Has_Loggin_Property_IsTrue()
        {
            //arrage
            var values = new Dictionary <string, string>
            {
                { "l", "" }
            };
            var flags = new Mock <IFlags>();

            flags.Setup(x => x.GetFlags(It.IsAny <string>())).Returns(values);

            ArgsSchema argsSchema = new ArgsSchema(flags.Object);

            argsSchema.GetArgs("-l");

            //act
            bool actual = argsSchema.Loggin;

            //assert
            Assert.True(actual);
        }