/// <summary> /// Serialize a <see cref="TestRunnerEvent"/> into a line of text /// </summary> /// public static string Serialize(TestRunnerEvent e) { Guard.NotNull(e, nameof(e)); var name = e.GetType().Name; var json = SerializeJson(e); return($"{Prefix}{name} {json}"); }
static string SerializeJson(TestRunnerEvent e) { using (var stream = new MemoryStream()) { GetSerializer(typeof(TestRunnerEvent)).WriteObject(stream, e); return(Encoding.UTF8.GetString(stream.GetBuffer(), 0, (int)stream.Position)); } }
private void OnTestRunnerEvent(TestRunnerEvent runnerEvent, EventArgs args) { var handler = runnerEvent; if (handler != null) { handler(this, args); } }
public virtual void Handle(TestRunnerEvent e) { Guard.NotNull(e, nameof(e)); var method = GetType().GetMethod( "Handle", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { e.GetType() }, null); method.Invoke(this, new[] { e }); Next?.Handle(e); }
/// <summary> /// Raise an event /// </summary> /// public static void Raise(TestRunnerEvent e) { First.Handle(e); }
private void OnTestRunnerEvent(TestRunnerEvent runnerEvent, EventArgs args) { runnerEvent?.Invoke(this, args); }
public override void Handle(TestRunnerEvent e) { Guard.NotNull(e, nameof(e)); Console.Out.WriteLine(MachineReadableEventSerializer.Serialize(e)); base.Handle(e); }