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);
 }
Пример #2
0
 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);
        }
Пример #4
0
 public void On(AppliedForLeave evt)
 {
     this.pendingLeave.Add(evt.LeaveEntryId, new PendingLeave(evt.LeaveEntryId, evt.From, evt.To));
 }