public void LocalizationEnumGeneratorFailedTest() { // Test 用のディレクトリの作成 var testDir = Path.Combine(Application.dataPath, "IcarusTest"); if (!Directory.Exists(testDir)) { Directory.CreateDirectory(testDir); } // Test 用の csv ファイルの作成 string filePath = $"{testDir}/TestFail.csv"; GenerateTestFailedLocalizeFile(filePath); // Test 用の csv ファイルを読み込む var text = FileLoader.LoadFile(filePath); // その csv を GenerateEnum でコード生成 // 生成したコードを指定先に保存 var testFilePath = Path.Combine(testDir, "TestFail.cs"); try { LocalizationEnumGenerator.Generate(text, testFilePath); } catch (Exception e) { Assert.AreEqual("Duplicated Key {Delete,Sum,}", e.Message); return; } Assert.Fail(); }
public void LocalizationEnumGeneratorTest() { // Test 用のディレクトリの作成 var testDir = Path.Combine(Application.dataPath, "IcarusTest"); if (!Directory.Exists(testDir)) { Directory.CreateDirectory(testDir); } // Test 用の csv ファイルの作成 string filePath = $"{testDir}/Test.csv"; GenerateTestLocalizeFile(filePath); // Test 用の csv ファイルを読み込む var text = FileLoader.LoadFile(filePath); // その csv を GenerateEnum でコード生成 // 生成したコードを指定先に保存 var testFilePath = Path.Combine(testDir, "Test.cs"); LocalizationEnumGenerator.Generate(text, testFilePath); // 指定先に保存したコードが一致しているかどうか Assert string expect = @"// Auto Generated File // Menu : Tools -> LocalizationEnumGenerate namespace Icarus.Core { public enum LocalizationEnum { // カテゴリー梅 /// <summary> /// ja : ありがとう /// en : Thx /// </summary> CommonThanks, // カテゴリー竹 /// <summary> /// ja : 削\n除 /// en : Del /// </summary> Delete, /// <summary> /// ja : 座標{0} /// en : Pos {0} /// </summary> Position, } } "; var code = FileLoader.LoadFile(testFilePath); Assert.AreEqual(expect, code); // Test 用の csv ファイルの削除 // Test 用に生成したコードをディレクトリごと削除 // File.Delete(filePath); // File.Delete(filePath + ".meta"); // File.Delete(testFilePath); // File.Delete(testFilePath + ".meta"); // Directory.Delete(testDir); }