예제 #1
0
        public static void FileIOTest(string inputFileName, string outputFileName)
        {
            var dir = Path.GetDirectoryName($@"{EditorIniDataTestItemGenerator.TestWorkRootDir}\{outputFileName}");

            dir.CreateDirectoryIfNeed();

            var reader =
                new EditorIniFileReader(
                    $@"{EditorIniDataTestItemGenerator.TestWorkRootDir}\{inputFileName}");
            EditorIniData data          = null;
            var           isSuccessRead = false;

            try
            {
                data          = reader.ReadAsync().GetAwaiter().GetResult();
                isSuccessRead = true;
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
            }

            Assert.IsTrue(isSuccessRead);

            var writer = new EditorIniFileWriter(
                $@"{EditorIniDataTestItemGenerator.TestWorkRootDir}\{outputFileName}");
            var isSuccessWrite = false;

            try
            {
                writer.WriteAsync(data).GetAwaiter().GetResult();
                isSuccessWrite = true;
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
            }

            Assert.IsTrue(isSuccessWrite);

            Console.WriteLine(
                $@"Written FilePath : {EditorIniDataTestItemGenerator.TestWorkRootDir}\{outputFileName}");
        }
예제 #2
0
        private static void Common(EditorIniData resultData, string readFileName)
        {
            var filePath = $@"{CommonFileTestItemGenerator.TestWorkRootDir}\{readFileName}";
            var reader   = new EditorIniFileReader(filePath);

            EditorIniData readData = null;

            var readResult   = false;
            var errorMessage = "";

            try
            {
                readData   = reader.ReadSync();
                readResult = true;
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorMessage = ex.Message;
            }

            // 正しく読めること
            if (!readResult)
            {
                throw new InvalidOperationException(
                          $"Error Occured. Message : {errorMessage}");
            }
            Assert.NotNull(readData);

            Console.WriteLine("Read Test Clear.");

            // 意図したデータと一致すること
            var propertyInfos = typeof(EditorIniData).GetProperties();

            foreach (var propertyInfo in propertyInfos)
            {
                var readPropertyValue   = propertyInfo.GetValue(readData);
                var answerPropertyValue = propertyInfo.GetValue(resultData);

                Assert.AreEqual(readPropertyValue, answerPropertyValue);
            }
        }