コード例 #1
0
ファイル: IcarusLocalizeTest.cs プロジェクト: MasaKoha/Icarus
        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();
        }
コード例 #2
0
ファイル: IcarusLocalizeTest.cs プロジェクト: MasaKoha/Icarus
        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);
        }