public void Dispose_CalledTwice_ShouldCallSocketDisposeOnce() { var socket = Mock.Create <ISocket>(); Mock.Arrange(() => socket.Connected).Returns(true); _sut = new NetworkTunnel(socket, _recorder); _sut.Dispose(); _sut.Dispose(); Mock.Assert(() => socket.Dispose(), Occurs.Once()); }
public void Dispose_CalledTwice_ShouldCallClosedEventOnce() { var closeRaised = 0; var socket = Mock.Create <ISocket>(); Mock.Arrange(() => socket.Connected).Returns(true); _sut = new NetworkTunnel(socket, _recorder); _sut.Closed += () => closeRaised++; _sut.Dispose(); _sut.Dispose(); Assert.Equal(1, closeRaised); }