public void RunTests() { if (FilterParser.LogMessageCallback != null) { throw new InvalidOperationException("Unit tests already running."); } try { FilterParser.LogMessageCallback = m_logMessageCallback; FilterParser.TestQuoteParser(); FilterParser.TestCriterionBuilder(); if (m_testCompletedCallback != null) { m_testCompletedCallback(); } } finally { FilterParser.LogMessageCallback = null; } }