static void VerifyAssert(Action test, params string[] expectedOutputStrings) { Debug.IDebugLogger oldLogger = Debug.s_logger; Debug.s_logger = WriteLogger.Instance; try { WriteLogger.Instance.Clear(); test(); #if DEBUG for (int i = 0; i < expectedOutputStrings.Length; i++) { Assert.Contains(expectedOutputStrings[i], WriteLogger.Instance.LoggedOutput); Assert.Contains(expectedOutputStrings[i], WriteLogger.Instance.AssertUIOutput); } #else Assert.Equal(string.Empty, WriteLogger.Instance.LoggedOutput); Assert.Equal(string.Empty, WriteLogger.Instance.AssertUIOutput); #endif } finally { Debug.s_logger = oldLogger; } }
static void VerifyLogged(Action test, string expectedOutput) { // First use our test logger to verify the output Debug.IDebugLogger oldLogger = Debug.s_logger; Debug.s_logger = WriteLogger.Instance; try { WriteLogger.Instance.Clear(); test(); #if DEBUG Assert.Equal(expectedOutput, WriteLogger.Instance.LoggedOutput); #else Assert.Equal(string.Empty, WriteLogger.Instance.LoggedOutput); #endif } finally { Debug.s_logger = oldLogger; } // Then also use the actual logger for this platform, just to verify // that nothing fails. test(); }
static void VerifyLogged(Action test, string expectedOutput) { Debug.IDebugLogger oldLogger = Debug.s_logger; Debug.s_logger = WriteLogger.Instance; try { WriteLogger.Instance.Clear(); test(); #if DEBUG Assert.Equal(expectedOutput, WriteLogger.Instance.LoggedOutput); #else Assert.Equal(string.Empty, WriteLogger.Instance.LoggedOutput); #endif } finally { Debug.s_logger = oldLogger; } }