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"); } }
public void ValueOfTest() { foreach (var typeLiteral in validTypeLiterals) { Assert.IsNotNull(UseCaseTranslatorOperationType.ValueOf(typeLiteral)); } Assert.IsNull(UseCaseTranslatorOperationType.ValueOf("InvalidTypeLiteral")); }
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)); } }
/// <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); }