public void FahClientCommand_ExecuteThrowsInvalidOperationExceptionWhenConnectionIsNotConnected() { // Arrange var command = new FahClientCommand(new FahClientConnection("foo", 2000)); // Act & Assert Assert.Throws <InvalidOperationException>(() => command.Execute()); }
public void FahClientCommand_ExecuteThrowsInvalidOperationExceptionWhenTcpConnectionIsNoLongerConnected() { // Arrange using (var connection = new MockFahClientConnection()) { connection.Open(); var command = new FahClientCommand(connection); // Act & Assert Assert.Throws <InvalidOperationException>(() => command.Execute()); } }
public void FahClientCommand_ExecuteRethrowsExceptionFromStreamWriteAndClosesTheConnection() { // Arrange Func <TcpConnection> factory = () => new MockTcpConnection(() => new MockStreamThrowsOnWrite()); using (var connection = new FahClientConnection("foo", 2000, new MockTcpConnectionFactory(factory))) { connection.Open(); var command = new FahClientCommand(connection); // Act & Assert Assert.Throws <IOException>(() => command.Execute()); Assert.IsFalse(connection.Connected); } }
public void FahClientCommand_ExecuteWritesNullCommandTextToConnection() { // Arrange var tcpConnectionFactory = new MockTcpConnectionFactory(); using (var connection = new FahClientConnection("foo", 2000, tcpConnectionFactory)) { connection.Open(); var command = new FahClientCommand(connection, null); // Act int bytesWritten = command.Execute(); // Assert Assert.AreEqual(0, bytesWritten); var memoryStream = (MemoryStream)tcpConnectionFactory.TcpConnection.GetStream(); Assert.AreEqual("", Encoding.ASCII.GetString(memoryStream.ToArray())); } }