示例#1
0
        public void ProrgamOperateTest()
        {
            string[] catalogFileNames =
            {
                "無効ユースケースカタログ.yaml",
            };

            var path = Path.GetFullPath(".");

            foreach (var catalogFileName in catalogFileNames)
            {
                var errorOutput = string.Empty;
                using (var writer = new StringWriter()) {
                    System.Console.SetError(writer);

                    string[] args =
                    {
                        "TestSuite",
                        "--input:" + catalogFileName,
                    };
                    Assert.IsFalse(Program.Operate(args, UseCaseTranslatorOperationType.ValueOf(args[0])));
                    errorOutput = writer.ToString();
                }
                Assert.IsFalse(string.IsNullOrWhiteSpace(errorOutput));
                Assert.IsTrue(errorOutput == "シナリオセットファイル\"無効YAML書式検証シナリオセット.yaml\"の書式に誤りがあります: (Line: 15, Col: 11, Idx: 258) - (Line: 15, Col: 36, Idx: 283): Anchor 'DuplicateAnchor' already defined\r\n");
            }
        }
示例#2
0
        //
        // クラスメソッド
        //

        /// <summary>
        /// 操作する
        /// </summary>
        /// <param name="args">引数</param>
        /// <param name="operationType">操作種別</param>
        /// <returns>操作の成否</returns>
        public static bool Operate(string[] args, UseCaseTranslatorOperationType operationType)
        {
            Contract.Requires(args != null);

            var success = false;

            try {
                var tuple = operationType.GetOperator <UseCaseTranslatorOperator>(args.Skip(1).Select(arg => arg.Trim('"')));
                if (tuple.Item2.Any())
                {
                    foreach (var invalidParameter in tuple.Item2)
                    {
                        Console.WriteLine(Resources.Resources.Message_Format_InvalidParameter, invalidParameter);
                    }
                    return(false);
                }

                var op = tuple.Item1;
                if (op == null)
                {
                    HelpReporter.ReportHelp();
                    return(false);
                }

                if (op.CanOperate())
                {
                    op.Operate();
                    success = true && (op is HelpReporter) == false;
                }
            }
            catch (ApplicationException e) {
                Console.Error.WriteLine(e.Message);
            }
            return(success);
        }
示例#3
0
 public void ValueOfTest()
 {
     foreach (var typeLiteral in validTypeLiterals)
     {
         Assert.IsNotNull(UseCaseTranslatorOperationType.ValueOf(typeLiteral));
     }
     Assert.IsNull(UseCaseTranslatorOperationType.ValueOf("InvalidTypeLiteral"));
 }
示例#4
0
 public void GetOperatorTest()
 {
     string[] arguments =
     {
         "--input:UseCaseCatalog.yaml",
         "-a:UseCaseCatalogTemplate.xlsx",
         "-output:C:\\",
     };
     foreach (var typeLiteral in validTypeLiterals)
     {
         Assert.IsNotNull(UseCaseTranslatorOperationType.ValueOf(typeLiteral).GetOperator <UseCaseTranslatorOperator>(arguments));
     }
 }
示例#5
0
        /// <summary>
        /// エントリ
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        static void Main(string[] args)
        {
            if (args.Length == 0 || string.IsNullOrWhiteSpace(args[0]))
            {
                HelpReporter.ReportHelp();
                Environment.Exit(1);
            }
            var operationType = UseCaseTranslatorOperationType.ValueOf(args[0]);

            if (operationType == null)
            {
                HelpReporter.ReportHelp();
                Environment.Exit(1);
            }

            Environment.Exit(Operate(args, operationType) == false ? 1 : 0);
        }