public void Setup()
        {
            factory           = A.Fake <IConnectionFactory>();
            fakeHttp          = A.Fake <ISimpleHttpGetRequest>();
            fakeWebSocket     = A.Fake <IWebSocket>();
            heartBeatSignaler = A.Fake <IHeartBeatSignaler>();

            A.CallTo(() => factory.CreateHttpRequest(A <string> ._)).Returns(fakeHttp);
            A.CallTo(() => fakeHttp.Execute()).ReturnsLazily(() => handshakeResponse);
            A.CallTo(() => factory.CreateWebSocket(A <string> ._)).Returns(fakeWebSocket);
            A.CallTo(() => fakeWebSocket.Connected).ReturnsLazily(() => isConnected);

            A.CallTo(() => fakeWebSocket.Open()).Invokes(() =>
            {
                isConnected           = true;
                fakeWebSocket.Opened += Raise.With(fakeWebSocket, EventArgs.Empty).Now;
            });

            A.CallTo(() => fakeWebSocket.Close()).Invokes(() =>
            {
                isConnected           = false;
                fakeWebSocket.Closed += Raise.With(fakeWebSocket, EventArgs.Empty).Now;
            });

            io = new SocketIOClient(factory, heartBeatSignaler);

            socket = io.Connect("http://localhost:3000");
        }
      public void Setup()
      {
         factory = A.Fake<IConnectionFactory>();
         fakeHttp = A.Fake<ISimpleHttpGetRequest>();
         fakeWebSocket = A.Fake<IWebSocket>();
         heartBeatSignaler = A.Fake<IHeartBeatSignaler>();

         A.CallTo(() => factory.CreateHttpRequest(A<string>._)).Returns(fakeHttp);
         A.CallTo(() => fakeHttp.Execute()).ReturnsLazily(() => handshakeResponse);
         A.CallTo(() => factory.CreateWebSocket(A<string>._)).Returns(fakeWebSocket);
         A.CallTo(() => fakeWebSocket.Connected).ReturnsLazily(() => isConnected);

         A.CallTo(() => fakeWebSocket.Open()).Invokes(() =>
         {
            isConnected = true;
            fakeWebSocket.Opened += Raise.With(fakeWebSocket, EventArgs.Empty).Now;
         });

         A.CallTo(() => fakeWebSocket.Close()).Invokes(() =>
         {
            isConnected = false;
            fakeWebSocket.Closed += Raise.With(fakeWebSocket, EventArgs.Empty).Now;
         });

         io = new SocketIOClient(factory, heartBeatSignaler);

         socket = io.Connect("http://localhost:3000");
      }
 public void TearDown()
 {
     isConnected   = false;
     factory       = null;
     fakeHttp      = null;
     fakeWebSocket = null;
     socket        = null;
 }
 public void TearDown()
 {
    isConnected = false;
    factory = null;
    fakeHttp = null;
    fakeWebSocket = null;
    socket = null;
 }