public void CheckTransmission_should_send_a_diagnostic_message_and_receive_a_status_message_response()
        {
            var channel = MockRepository.GenerateMock<ITelemetryChannel>();
            var connetion = MockRepository.GenerateMock<IConnection>();
            var telemetryConnection = new TelemetryConnector(connetion);

            using (channel.GetMockRepository().Ordered())
            {
                connetion
                    .Stub(client => client.OnlineStatus)
                    .Return(false).Repeat.Once();

                connetion
                   .Stub(client => client.OnlineStatus)
                   .Return(true);
            }

            channel
                .Stub(client => client.Receive())
                .Return(ExpectedTelemetryClientResponse);

            var telemetryDiagnosticControls = new TelemetryDiagnosticControls(channel, telemetryConnection);

            telemetryDiagnosticControls.CheckTransmission();

            connetion.AssertWasCalled(conn => conn.Connect(Arg<string>.Is.Anything));
            channel.AssertWasCalled(client => client.Send(TelemetryClient.DiagnosticMessage));

            Assert.That(telemetryDiagnosticControls.DiagnosticInfo, Is.EqualTo(ExpectedTelemetryClientResponse));
        }
Esempio n. 2
0
        public void SetRobot(TelemetryConnector telemetry, string robotName)
        {
            var rob = RegisteredConnectors.Single(r => r.Key == robotName).Value;

            if (!Connections.ContainsKey(rob.Name))
            {
                Connections.Add(rob.Name, new List <string> {
                    telemetry.Name
                });
            }
            else if (!Connections[rob.Name].Contains(telemetry.Name))
            {
                Connections[rob.Name].Add(telemetry.Name);
            }
        }
        public void CheckConnection_ThrowsAfterThreeFailedConnections()
        {
            var telemetryClient = MockRepository.GenerateMock<IConnection>();
            var telemetryConnection = new TelemetryConnector(telemetryClient);

            using (telemetryClient.GetMockRepository().Ordered())
            {
                telemetryClient.Expect(client => client.Disconnect());

                telemetryClient
                    .Stub(client => client.OnlineStatus)
                    .Return(false)
                    .Repeat.Times(3);
            }

            telemetryConnection.TryConnect(3, "any connection string");

            telemetryClient.AssertWasCalled(client => client.Connect(Arg<string>.Is.Anything), opt => opt.Repeat.Times(2));
            telemetryClient.VerifyAllExpectations();
        }