public void HandleClusterRemovingServerEventShould_Log_To_File()
        {
            const string traceSourceName = "HandleClusterRemovingServerEventShould_Log_To_File";
            const string logFileName     = traceSourceName + "-log";
            var          @event          = new ClusterRemovingServerEvent(
                new ServerId(new ClusterId(), new IPEndPoint(IPAddress.Parse("1.2.3.4"), 42)),
                "The cake is a lie.");
            var expectedLogMessage =
                $"{TraceSourceEventHelper.Label(@event.ServerId.ClusterId)}: removing server " +
                $"{TraceSourceEventHelper.Format(@event.ServerId)}. Reason: {@event.Reason}";
            var traceSource = CreateTraceSource(logFileName, logFileName);
            var subject     = new TraceSourceSdamEventSubscriber(traceSource);

            subject.Handle(@event);
            var log = ReadLog(traceSource, logFileName);

            log.Should().Contain(expectedLogMessage);
        }
 public static void Handle(this TraceSourceSdamEventSubscriber subject, ClusterRemovingServerEvent @event)
 => Reflector.Invoke(subject, "Handle", @event);