public void Dispose_WithTextWriter_DoesNotDisposeTextWriter() { var textWriter = new TestTextWriter(); using (var writer = new SqlWriter(textWriter)) { } Assert.False(textWriter.IsDisposed); }
public CompilerTestLogger(ITestOutputHelper testOutput) { Stream = new TestTextWriter(testOutput); m_console = new Logger.Console { Stream = Stream, UseColors = false }; }
public void When_ValidVersionCommand_Then_ShowVersion() { // Set up repl with mock console var writer = new TestTextWriter(); var console = new TestConsole(writer, new TestTextReader()); var repl = new Ui.Repl.Repl(console, new RootCommand(new TestApplicationLifecycle(), console)); //Compute version input repl.ComputeInput("version"); // Assert if correct version is printed var content = writer.Content; Assert.Contains(Constants.McsmVersion, content); }
public void When_ValidHelpCommand_Then_ShowHelp() { // Set up repl with mock console var writer = new TestTextWriter(); var console = new TestConsole(writer, new TestTextReader()); var repl = new Ui.Repl.Repl(console, new RootCommand(new TestApplicationLifecycle(), console)); // Compute help input repl.ComputeInput("help"); // Assert that "Usage:", "help", "Shows information about all commands" is included in res var content = writer.Content; Assert.Contains("Usage:", content); Assert.Contains("h, help", content); Assert.Contains("Shows information about all commands", content); }
public void When_ValidExitCommand_Then_Exit() { //Set up mock console var writer = new TestTextWriter(); var console = new TestConsole(writer, new TestTextReader()); //Set up mock application life cycle var stopped = false; var testLifecycle = new TestApplicationLifecycle(stopDel: () => { stopped = true; }); //Set up repl var repl = new Ui.Repl.Repl(console, new RootCommand(testLifecycle, console)); //Compute exit input repl.ComputeInput("exit"); //Assert if stop method was called Assert.True(stopped); }
public void ConfigTraceSourceTest() { TraceSource _tracer = new TraceSource("CAS.CodeProtect.UnitTests.TraceSource"); Assert.IsNotNull(_tracer); Assert.AreEqual(1, _tracer.Listeners.Count); Dictionary <string, TraceListener> _listeners = _tracer.Listeners.Cast <TraceListener>().ToDictionary <TraceListener, string>(x => x.Name); Assert.IsTrue(_listeners.ContainsKey("LogFile")); TraceListener _listener = _listeners["LogFile"]; Assert.IsNotNull(_listener); Assert.IsInstanceOfType(_listener, typeof(AdvancedDelimitedListTraceListener)); AdvancedDelimitedListTraceListener _advancedListener = _listener as AdvancedDelimitedListTraceListener; Assert.IsNotNull(_advancedListener.Filter); Assert.IsInstanceOfType(_advancedListener.Filter, typeof(EventTypeFilter)); EventTypeFilter _eventTypeFilter = _advancedListener.Filter as EventTypeFilter; Assert.AreEqual(SourceLevels.All, _eventTypeFilter.EventType); //Writer using (TestTextWriter _writer = new TestTextWriter()) { _advancedListener.Writer = _writer; _tracer.TraceEvent(TraceEventType.Error, 0, "Test message"); Assert.IsTrue(_writer.WriteCount > 5); int _writeCount = _writer.WriteCount; _advancedListener.Flush(); Assert.AreEqual <int>(_writeCount, _writer.WriteCount); _advancedListener.Close(); Assert.AreEqual <int>(_writeCount, _writer.WriteCount); } //Test Switch Assert.IsNotNull(_tracer.Switch); Assert.AreEqual <string>("CAS.CodeProtect.UnitTests.TraceSource.Switch", _tracer.Switch.DisplayName); Assert.AreEqual <SourceLevels>(SourceLevels.All, _tracer.Switch.Level); //Trace Assert.IsFalse(Trace.Listeners.Cast <TraceListener>().Where <TraceListener>(x => x.Name == "LogFile").Any <TraceListener>()); }
public void HashUtilities_ShouldRespectQuietFlag() { int numberOfTestFiles = 10; List <string> filePaths = new List <string>(numberOfTestFiles); for (int i = 0; i < numberOfTestFiles; i++) { string filePath = Path.GetTempFileName(); string fileContents = Guid.NewGuid().ToString(); File.WriteAllText(filePath, fileContents); filePaths.Add(filePath); } // The easy path, simply calculate the hashes. // We should write to the Console with the default TextWriter. try { IDictionary <string, HashData> hashes = HashUtilities.MultithreadedComputeTargetFileHashes(filePaths); } catch (Exception e) { // If anything fails, delete the files and fail the test foreach (string filePath in filePaths) { if (File.Exists(filePath)) { File.Delete(filePath); } } Assert.True(false, e.Message); } // An custom textwriter.S // Using it should throw an InvalidOperationException when writing a string TestTextWriter testTextWriter = new TestTextWriter(); TextWriter defaultOut = Console.Out; Console.SetOut(testTextWriter); try { IDictionary <string, HashData> hashes = HashUtilities.MultithreadedComputeTargetFileHashes(filePaths); // If we got here, things went wrong, so cleanup foreach (string filePath in filePaths) { if (File.Exists(filePath)) { File.Delete(filePath); } } Console.SetOut(defaultOut); Assert.True(false, "Exception was expected but not thrown"); } catch (InvalidOperationException) { // Do nothing, this is the desired behavior. } // Mimic the --quiet flag. We should not use the console this time. try { IDictionary <string, HashData> hashes = HashUtilities.MultithreadedComputeTargetFileHashes(filePaths, true); } catch { Assert.True(false, "Unexpected exception."); } finally { foreach (string filePath in filePaths) { if (File.Exists(filePath)) { File.Delete(filePath); } } Console.SetOut(defaultOut); } }