Пример #1
0
        private BittrexSocketClient PrepareClient()
        {
            sub = new Subscription();

            proxy = new Mock <IHubProxy>();
            proxy.Setup(r => r.Subscribe(It.IsAny <string>())).Returns(sub);

            socket = new Mock <Interfaces.IHubConnection>();
            socket.Setup(s => s.Stop(It.IsAny <TimeSpan>()));
            socket.Setup(s => s.Start()).Callback(() => { socket.Raise(s => s.StateChanged += null, new StateChange(ConnectionState.Connecting, ConnectionState.Connected)); });
            socket.Setup(s => s.State).Returns(ConnectionState.Connected);
            socket.Setup(s => s.CreateHubProxy(It.IsAny <string>())).Returns(proxy.Object);

            var factory = new Mock <IConnectionFactory>();

            factory.Setup(s => s.Create(It.IsAny <string>())).Returns(socket.Object);

            cloud = new Mock <ICloudFlareAuthenticator>();
            cloud.Setup(c => c.GetCloudFlareCookies(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns(new CookieContainer());

            var client = new BittrexSocketClient {
                ConnectionFactory = factory.Object, CloudFlareAuthenticator = cloud.Object
            };

            client.GetType().GetField("connection", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, null);
            client.GetType().GetField("registrations", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, new List <BittrexRegistration>());
            client.GetType().GetField("reconnecting", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, false);

            return(client);
        }
        private BittrexSocketClient PrepareClient()
        {
            proxy = new Mock <IHubProxy>();
            proxy.Setup(r => r.Invoke <bool>(It.IsAny <string>())).Returns(Task.FromResult(true));
            proxy.Setup(r => r.Subscribe(It.IsAny <string>())).Returns(new Subscription());

            socket = new Mock <Interfaces.IHubConnection>();
            socket.Setup(s => s.Stop(It.IsAny <TimeSpan>()));
            socket.Setup(s => s.Start()).Returns(Task.Run(() => Thread.Sleep(1))).Callback(() => { socket.Raise(s => s.StateChanged += null, new StateChange(ConnectionState.Connecting, ConnectionState.Connected)); });
            socket.Setup(s => s.State).Returns(ConnectionState.Connected);
            socket.Setup(s => s.CreateHubProxy(It.IsAny <string>())).Returns(proxy.Object);

            var factory = new Mock <IConnectionFactory>();

            factory.Setup(s => s.Create(It.IsAny <Log>(), It.IsAny <string>())).Returns(socket.Object);

            var client = new BittrexSocketClient {
                ConnectionFactory = factory.Object
            };

            client.GetType().GetField("connection", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, null);
            client.GetType().GetField("registrations", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, new List <BittrexRegistration>());
            client.GetType().GetField("reconnecting", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).SetValue(client, false);

            return(client);
        }