Beispiel #1
0
        public static void TestInitialize(TestContext context)
        {
            Identity = A.Fake <With.Component.IIdentity>();
            A.CallTo(() => Identity.ToString()).Returns("Identity");

            Description = A.Fake <With.Component.IDescription>();
            A.CallTo(() => Description.Name).Returns("Name");
            A.CallTo(() => Description.Remarks).Returns("Remarks");

            EntityDescription = A.Fake <With.Component.IEntityDescription>();
            A.CallTo(() => EntityDescription.Type).Returns("Type");
            A.CallTo(() => EntityDescription.Manufacturer).Returns("Manufacturer");
            A.CallTo(() => EntityDescription.Model).Returns("Model");
            A.CallTo(() => EntityDescription.Name).Returns("Name");
            A.CallTo(() => EntityDescription.Remarks).Returns("Remarks");

            Measurement = A.Fake <With.Component.IMeasurement>();
            A.CallTo(() => Measurement.Type).Returns(With.Component.MeasurementType.Seconds);
            A.CallTo(() => Measurement.Value).Returns("3.14");

            ValueDescription = A.Fake <With.Component.IValueDescription>();
            A.CallTo(() => ValueDescription.Name).Returns("Name");
            A.CallTo(() => ValueDescription.Remarks).Returns("Remarks");
            A.CallTo(() => ValueDescription.Measurement).Returns(With.Component.MeasurementType.Percent);
            A.CallTo(() => ValueDescription.Minimum).Returns(Measurement);
            A.CallTo(() => ValueDescription.Maximum).Returns(Measurement);
            A.CallTo(() => ValueDescription.Default).Returns(Measurement);

            Observable = A.Fake <With.Component.IObservable>();
            A.CallTo(() => Observable.Identity).Returns(Identity);
            A.CallTo(() => Observable.Description).Returns(ValueDescription);

            ParameterDescription = A.Fake <With.Component.IParameterDescription>();
            A.CallTo(() => ParameterDescription.Name).Returns("Name");
            A.CallTo(() => ParameterDescription.Remarks).Returns("Remarks");
            A.CallTo(() => ParameterDescription.Measurement).Returns(With.Component.MeasurementType.Percent);
            A.CallTo(() => ParameterDescription.Minimum).Returns(Measurement);
            A.CallTo(() => ParameterDescription.Maximum).Returns(Measurement);
            A.CallTo(() => ParameterDescription.Default).Returns(Measurement);
            A.CallTo(() => ParameterDescription.Required).Returns(true);

            Parameter = A.Fake <With.Component.IParameter>();
            A.CallTo(() => Parameter.Identity).Returns(Identity);
            A.CallTo(() => Parameter.Description).Returns(ParameterDescription);

            Actionable = A.Fake <With.Component.IActionable>();
            A.CallTo(() => Actionable.Identity).Returns(Identity);
            A.CallTo(() => Actionable.Description).Returns(Description);
            A.CallTo(() => Actionable.Parameters).Returns(new[] { Parameter });

            Entity = A.Fake <With.Component.IEntity>();
            A.CallTo(() => Entity.Identity).Returns(Identity);
            A.CallTo(() => Entity.Description).Returns(EntityDescription);
            A.CallTo(() => Entity.Observables).Returns(new[] { Observable });
            A.CallTo(() => Entity.Actionables).Returns(new[] { Actionable });
        }
Beispiel #2
0
        public async Task Register(With.Component.IIdentity client, With.Component.IEntity entity, IObserver <Message.IMessage> consumer)
        {
            Registration.IInstance registration = _registrationFactory.For(client, entity, consumer);

            _registrations.Add(registration);

            await _hub.Register(registration.Client, registration.Entity);

            System.Diagnostics.Debug.WriteLine(string.Format("Client Registered '{0}'", registration.Key));
        }
Beispiel #3
0
        public async Task Deregister(With.Component.IIdentity client, With.Component.IEntity entity)
        {
            string registrationKey = Registration.Key.For(client, entity.Identity);

            Registration.IInstance registration;

            if (_registrations.TryGetValue(registrationKey, out registration))
            {
                await _hub.Deregister(registration.Client, registration.Entity);
            }
        }
Beispiel #4
0
        public Instance(string connectionId, With.Component.IIdentity registrar, With.Component.IEntity entity, Action <With.Message.IMessage> processor)
        {
            ConnectionId = connectionId;
            Registrar    = registrar;
            Entity       = entity;

            Key = Registration.Key.For(connectionId, registrar, entity.Identity);

            _consumer     = new Subject <With.Message.IMessage>();
            _subscription = _consumer.Subscribe(processor);
        }
Beispiel #5
0
        public void ShouldBeAbleToMapEntityToComponent()
        {
            SignalR.Common.Dto.Entity source = new SignalR.Common.Dto.Entity {
                Identity = new SignalR.Common.Dto.Identity {
                    Value = "TEST"
                }
            };
            With.Component.IEntity actual = source.AsComponent();

            Assert.AreEqual(actual.Identity.Value, "TEST");
        }
Beispiel #6
0
 public void Deregister(With.Component.IIdentity registrar, With.Component.IEntity entity)
 {
     _connectionInstance.Publish(_configurationSettings.ExchangeName, _routingKey.ForDeregistrationOf(entity.Identity), new Message.Deregister(registrar, entity.Identity));
     _connectionInstance.RemoveQueue(_queueName.For(entity.Identity));
 }
Beispiel #7
0
 public void Register(With.Component.IIdentity registrar, With.Component.IEntity entity, IObserver <With.Message.IMessage> consumer)
 {
     _connectionInstance.BuildQueue(_queueName.For(entity.Identity));
     _connectionInstance.BindConsumer(_queueName.For(entity.Identity), consumer);
     _connectionInstance.Publish(_configurationSettings.ExchangeName, _routingKey.ForRegistrationOf(entity.Identity), new Message.Register(registrar, entity));
 }
Beispiel #8
0
 public static Dto.Entity AsDto(this With.Component.IEntity entity)
 {
     return(Mapper.Map <Dto.Entity>(entity));
 }