public static void WriteSyncTest(MapTreeData outputData, string outputFileName) { var dir = Path.GetDirectoryName(outputFileName); dir.CreateDirectoryIfNeed(); var writer = new MapTreeDataFileWriter(outputFileName); var isSuccess = false; var errorMessage = ""; try { writer.WriteSync(outputData); isSuccess = true; } catch (Exception e) { errorMessage = e.Message; } // 出力成功すること if (!isSuccess) { throw new InvalidOperationException( $"Error message: {errorMessage}"); } Assert.True(true); }
async void ReadMapTreeTest() { pathText.text = Application.streamingAssetsPath; string path = Application.streamingAssetsPath + "/Project/Data/BasicData/MapTree.dat"; var reader = new MapTreeDataFileReader(); MapTreeData data = await reader.ReadFileAsync(path); for (int i = 0; i < data.TreeNodeList.Count; i++) { MapTreeNode node = data.TreeNodeList[i]; } //infoText.text = mapData.MapSizeWidth.ToString(); }
public static void File0Test() { const string inputFileName = @"Dir0\MapTree.dat"; const string outputFileName = @"OutputDir0\MapTree.dat"; var inputDir = Path.GetDirectoryName($@"{MapTreeDataFileItemGenerator.TestWorkRootDir}\{inputFileName}"); inputDir.CreateDirectoryIfNeed(); var outputDir = Path.GetDirectoryName($@"{MapTreeDataFileItemGenerator.TestWorkRootDir}\{outputFileName}"); outputDir.CreateDirectoryIfNeed(); var reader = new MapTreeDataFileReader($@"{MapTreeDataFileItemGenerator.TestWorkRootDir}\{inputFileName}"); MapTreeData 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 MapTreeDataFileWriter( $@"{MapTreeDataFileItemGenerator.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 : {MapTreeDataFileItemGenerator.TestWorkRootDir}\{outputFileName}"); }
public static void TreeNodeListTest(MapTreeNodeList list, bool isError) { var instance = new MapTreeData(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.TreeNodeList = list; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (!errorOccured) { var setValue = instance.TreeNodeList; // セットした値と取得した値が一致すること Assert.IsTrue(setValue.Equals(list)); } // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { Assert.AreEqual(changedPropertyList.Count, 1); Assert.IsTrue(changedPropertyList[0].Equals(nameof(MapTreeData.TreeNodeList))); } }
public static void SerializeTest() { var target = new MapTreeData { TreeNodeList = new MapTreeNodeList { new MapTreeNode(1, -1), new MapTreeNode(2, -1), new MapTreeNode(3, 1), } }; var changedPropertyList = new List <string>(); target.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var clone = DeepCloner.DeepClone(target); Assert.IsTrue(clone.Equals(target)); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
private static void Common(MapTreeData resultData, string readFileName) { var filePath = $@"{CommonFileTestItemGenerator.TestWorkRootDir}\{readFileName}"; var reader = new MapTreeDataFileReader(filePath); var readResult = false; MapTreeData 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(filePath, 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]})"); } } }