public static void AreTheSameAs(this IAmAnEvent[] actualEvents, IAmAnEvent[] expectedEvents)
 {
     Assert.That(actualEvents.Length, Is.EqualTo(expectedEvents.Length));
     foreach (var actualEvent in actualEvents)
     {
         Assert.That(expectedEvents.Contains(actualEvent));
     }
 }
 public EventHydrator(JToken eventAsJson)
 {
     string typeName = eventAsJson.SelectToken("Meta").SelectToken("Type").ToString();
     typeName = typeName.TrimStart('\"');
     typeName = typeName.TrimEnd('\"');
     Type type = Type.GetType(typeName);
     string detail = eventAsJson.SelectToken("Detail").ToString();
     object temp = JsonConvert.DeserializeObject(detail, type);
     _theHydratedEvent = (IAmAnEvent)temp;
 }