public void DeserialiseEventKnownFSharpTypeIsKnow() { var evt = new LeaveEntryCreated(Guid.NewGuid(), DateTime.Now, DateTime.UtcNow, "Foo"); var json = JsonConvert.SerializeObject(evt); var des = JsonConvert.DeserializeObject<LeaveEntryCreated>(json); Assert.AreEqual(evt, des); }
public void Given() { var id = Guid.NewGuid(); var employeeId = Guid.NewGuid(); var startDate = DateTime.UtcNow; var event1 = new LeaveEntryCreated(employeeId, startDate, startDate.AddDays(1), "foo"); var event2 = new LeaveEntryCreated(employeeId, startDate, startDate.AddDays(1), "foo"); Assert.AreEqual(event1, event2); }
public void DeserialiseEventKnownFSharpTypeIsKnowInvered() { var evt = new LeaveEntryCreated(Guid.NewGuid(), DateTime.Now, DateTime.UtcNow, "Foo"); 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); }