/// <summary> /// 数据分析后处理操作 /// </summary> /// <param name="ps"></param> void ActionAfter(ParserReturn ps) { if (ps.Error != string.Empty) { if (ps.Error == "Writing") //文件正在写入时不处理 { _logger.Warn(string.Format(@"结构物{0}下原始数据文件‘{1}’正在被占用", ps.Struct, ps.File)); } else { MoveFileToError(ps.File); _logger.Warn(string.Format(@"结构物{0}下原始数据文件‘{1}’计算失败,错误:{2}", ps.Struct, ps.File, ps.Error)); } } else { MoveFileToFinish(ps.File); _logger.InfoFormat("处理成功:模块{0},通道{1},时间{2},频率{3}Hz,时长{4}s", ps.mod, ps.ch, ps.Time, ps.freq, ps.Period); } }
public void ParseFile() { JsonFileFormat format = new JsonFileFormat(); format.MaxX = 5; format.MaxY = 7; format.Steps = "FFF"; format.ObstacleObjects.Add(new ObstacleSetupObj() { XLoc = 1, YLoc = 1, Type = "Rock", Obstacle = JsonConvert.SerializeObject(new Rock()) }); format.ObstacleObjects.Add(new ObstacleSetupObj() { XLoc = 2, YLoc = 2, Type = "Hole", Obstacle = JsonConvert.SerializeObject(new Hole(3, 3)) }); format.ObstacleObjects.Add(new ObstacleSetupObj() { XLoc = 4, YLoc = 4, Type = "Spinner", Obstacle = JsonConvert.SerializeObject(new Spinner(true, 3)) }); string serialized = JsonConvert.SerializeObject(format); var parser = new FileParser(); ParserReturn testedObj = parser.parseString(serialized); Assert.AreEqual(5, testedObj.MaxX); Assert.AreEqual(7, testedObj.MaxY); Assert.AreEqual("FFF".ToCharArray()[0], testedObj.Steps[0]); Assert.IsInstanceOfType(testedObj.ObstacleHolder.GetObstacle(1, 1), typeof(Rock)); Assert.IsInstanceOfType(testedObj.ObstacleHolder.GetObstacle(2, 2), typeof(Hole)); Assert.IsInstanceOfType(testedObj.ObstacleHolder.GetObstacle(4, 4), typeof(Spinner)); }