public void DeserialiseEventKnownFSharpTypeIsKnow() { var evt = new AppliedForLeave(Guid.NewGuid(), DateTime.Now, DateTime.UtcNow); var json = JsonConvert.SerializeObject(evt); var des = JsonConvert.DeserializeObject<AppliedForLeave>(json); Assert.AreEqual(evt, des); }
public void Given() { var id = Guid.NewGuid(); var employeeId = Guid.NewGuid(); var startDate = DateTime.UtcNow; var event1 = new AppliedForLeave(employeeId, startDate, startDate.AddDays(1)); var event2 = new AppliedForLeave(employeeId, startDate, startDate.AddDays(1)); Assert.AreEqual(event1, event2); }
public void DeserialiseEventKnownFSharpTypeIsKnowInvered() { var evt = new AppliedForLeave(Guid.NewGuid(), DateTime.Now, DateTime.UtcNow); var json = JsonConvert.SerializeObject(evt); var eventHeader = new Dictionary<string, string> { { "EventClrType", evt.GetType().AssemblyQualifiedName } }; var metaData = JsonConvert.SerializeObject(eventHeader); var eventName = JObject.Parse(metaData).Property("EventClrType").Value.ToString(); var eventType = Type.GetType(eventName); var des = JsonConvert.DeserializeObject(json, eventType); Assert.AreEqual(evt, des); }
public void On(AppliedForLeave evt) { this.pendingLeave.Add(evt.LeaveEntryId, new PendingLeave(evt.LeaveEntryId, evt.From, evt.To)); }