public void PartialProblemsMessageXmlIsProperlySerializedAndDeserialized() { var pp = new PartialProblemsMessage.PartialProblem { Data = new byte[] {1, 2, 3}, TaskManagerId = 5, PartialProblemId = 10 }; var message = new PartialProblemsMessage { CommonData = new byte[] {1, 2, 3, 4, 5}, PartialProblems = new List<PartialProblemsMessage.PartialProblem> {pp}, ProblemInstanceId = 15, ProblemType = "Dvrp", SolvingTimeout = 20 }; var serializedMessage = _serializer.Serialize(message); var deserializedMessage = _serializer.Deserialize(serializedMessage); Assert.IsInstanceOfType(deserializedMessage, typeof (PartialProblemsMessage)); }
/// <summary> /// Create partial problems message that can be send to a computational node. /// </summary> /// <returns>Partial problems message.</returns> public override Message CreateMessage() { var msgPartialProblems = new List<PartialProblemsMessage.PartialProblem>(PartialProblems.Count); foreach (var pp in PartialProblems) { var msgPp = new PartialProblemsMessage.PartialProblem { Data = pp.PrivateData, PartialProblemId = pp.Id, TaskManagerId = pp.Problem.DividingNodeId.Value }; msgPartialProblems.Add(msgPp); } var problem = PartialProblems[0].Problem; var message = new PartialProblemsMessage { CommonData = problem.CommonData, PartialProblems = msgPartialProblems, ProblemInstanceId = problem.Id, ProblemType = problem.Type, SolvingTimeout = problem.SolvingTimeout }; return message; }