public static void CDatabase0ProjectIOTest() { ChangeableDatabaseProjectFilePath inputFileName = $@"{DatabaseProjectFileTestItemGenerator.TestWorkRootDir}\CDatabase1.project"; ChangeableDatabaseProjectFilePath outputFileName = $@"{DatabaseProjectFileTestItemGenerator.TestWorkRootDir}\OutputCDatabase1.project"; var reader = new DatabaseProjectFileReader( inputFileName, DBKind.Changeable); DatabaseProject 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 DatabaseProjectFileWriter(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 : {outputFileName}"); }
private static void Common(DatabaseProject resultData, DatabaseProjectFilePath readFileName, DBKind dbKind) { var reader = new DatabaseProjectFileReader(readFileName, dbKind); var readResult = false; DatabaseProject data = null; var errorMessage = ""; try { data = reader.ReadSync(); readResult = true; } catch (Exception ex) { logger.Exception(ex); errorMessage = ex.Message; } // 正しく読めること if (!readResult) { throw new InvalidOperationException( $"Error Occured. Message : {errorMessage}"); } Console.WriteLine("Write Test Clear."); var readResultDataBytes = data.ToBinary().ToArray(); // 元のデータと一致すること using (var stream = new FileStream(readFileName, FileMode.Open, FileAccess.Read, FileShare.Read)) { var bufLength = (int)stream.Length; var buf = new byte[bufLength]; stream.Read(buf, 0, bufLength); if (readResultDataBytes.Length != bufLength) { throw new InvalidOperationException( $"Data Length Not Match. " + $"(answerLength: {bufLength}, readResultLength: {readResultDataBytes.Length})"); } for (long i = 0; i < 0; i++) { if (readResultDataBytes[i] != buf[i]) { throw new InvalidOperationException( $"Data Byte Not Match. (index: {i}, answer: {buf[i]}," + $" readResult: {readResultDataBytes[i]})"); } } } // 意図したデータと一致すること var resultDataBytes = resultData.ToBinary().ToArray(); if (resultDataBytes.Length != readResultDataBytes.Length) { throw new InvalidOperationException( $"Data Length Not Match. " + $"(answerLength: {resultDataBytes.Length}, readResultLength: {readResultDataBytes.Length})"); } for (long i = 0; i < 0; i++) { if (resultDataBytes[i] != readResultDataBytes[i]) { throw new InvalidOperationException( $"Data Byte Not Match. (index: {i}, answer: {resultDataBytes[i]}," + $" readResult: {readResultDataBytes[i]})"); } } }