== Running test suite: DiagnosticController -- Running test case: DiagnosticController.SetupAndTeardown PASS: Diagnostics should not be available initially. Adding recorder... PASS: Recorder should be inactive prior to diagnostics becoming available. Triggering a diagnostic event... Making diagnostics available... In setup() for recorder: Test.1 PASS: Recorder should be active after diagnostics are available. Triggering a diagnostic event... Received diagnostic event: TestEvent.1 => {"answer":"should be logged"} Making diagnostics not available... In teardown() for recorder: Test.1 PASS: Recorder should be inactive after diagnostics are not longer available. -- Running test case: DiagnosticController.AddRecorderWhileActive Making diagnostics available... Adding recorder... In setup() for recorder: Test.2 Triggering a diagnostic event... Received diagnostic event: TestEvent.2 => {"answer":"should be logged"} Making diagnostics not available... In teardown() for recorder: Test.2 Triggering a diagnostic event... -- Running test case: DiagnosticController.AddRecorderWhileInactive Making diagnostics not available... Adding recorder... Triggering a diagnostic event... Making diagnostics available... In setup() for recorder: Test.3 Triggering a diagnostic event... Received diagnostic event: TestEvent.5 => {"answer":"should be logged"} Making diagnostics not available... In teardown() for recorder: Test.3 Triggering a diagnostic event...