Esempio n. 1
0
 public IIoDeviceRunTarget Create(ITimeService timeService, IoDevice ioDevice)
 {
     return new IoDeviceRunTarget(
         ioDevice,
         new IoDeviceWrapperFactory(string.Format("{0} domain", ioDevice.Name)),
         new NotificationReporter(timeService){LifeTime = TimeSpan.FromTicks(0)});
 }
Esempio n. 2
0
        public IoDeviceRunTarget(IoDevice ioDevice, IIoDeviceWrapperFactory wrapperFactory, INotificationReporter reporter)
        {
            _reporter = reporter;
            Name = string.Format(Res.IoDeviceWithName, ioDevice.Name);
            _filePath = GetFilePath(ioDevice.Type);
            _options = ioDevice.Options;
            _wrapperFactory = wrapperFactory;

            var digReadParameters = new List<ReadParameter>();
            var digReadValueHolders = new List<ITagValueHolder>();
            foreach (var t in ioDevice.DigTags)
            {
                var holder = new DigTagValueHolder(t);
                _digValueHolders.Add(t.Id, holder);
                if (t.CanRead)
                {
                    digReadValueHolders.Add(holder);
                    digReadParameters.Add(new ReadParameter(t.Device, typeof(bool)));
                }
            }
            var numReadParameters = new List<ReadParameter>();
            var numReadValueHolders = new List<ITagValueHolder>();
            foreach (var t in ioDevice.NumTags)
            {
                var holder = new NumTagValueHolder(t);
                _numValueHolders.Add(t.Id, holder);
                if (t.CanRead)
                {
                    numReadValueHolders.Add(holder);
                    numReadParameters.Add(new ReadParameter(t.Device, t.TagType));
                }
            }
            _readParameters = digReadParameters.Concat(numReadParameters).ToArray();
            _readValueHolders = digReadValueHolders.Concat(numReadValueHolders).ToArray();
        }
Esempio n. 3
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     DigitalTag         = new DigitalTag(new DispatcherService(), 1, "name", () => "");
     ReturnedDigitalTag = IoDevice.AddDigTag(DigitalTag);
     NumericTag         = new NumericTag(new DispatcherService(), 1, "name", () => "", () => "", () => "", 0, 0);
     ReturnedNumericTag = IoDevice.AddNumTag(NumericTag);
 }
Esempio n. 4
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     Result = new RemapTagsResult {
         DigReadValues = new bool?[] { false },
         NumReadValues = new double?[] { RandomGenerator.GetRandomInt32() }
     };
     IoDevice.ApplyRemapResult(Result);
 }
 public IIoDeviceRunTarget Create(ITimeService timeService, IoDevice ioDevice)
 {
     return(new IoDeviceRunTarget(
                ioDevice,
                new IoDeviceWrapperFactory(string.Format("{0} domain", ioDevice.Name)),
                new NotificationReporter(timeService)
     {
         LifeTime = TimeSpan.FromTicks(0)
     }));
 }
Esempio n. 6
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     IoDeviceWrapper        = new Mock <IIoDeviceWrapper>();
     IoDeviceWrapperFactory = new Mock <IIoDeviceWrapperFactory>();
     IoDeviceWrapperFactory.Setup(f => f.Create()).Returns(IoDeviceWrapper.Object);
     IoDevice = new IoDevice {
         Name    = "IoDeviceRunTargetName",
         Options = IoDeviceOptions,
         Type    = string.Format("{0}{1}{2}", IoDeviceFolder, PHmiConstants.PHmiIoDeviceSeparator,
                                 IoDeviceFile)
     };
     DigitalTag = new DigTag {
         Id      = 1,
         Device  = "M0",
         CanRead = true
     };
     IoDevice.DigTags.Add(DigitalTag);
     WriteOnlyDigitalTag = new DigTag {
         Id      = 2,
         Device  = "M1",
         CanRead = false
     };
     IoDevice.DigTags.Add(WriteOnlyDigitalTag);
     NumericTag = new NumTag {
         Id         = 1,
         Device     = "D0",
         NumTagType = new NumTagType {
             Name = "Int32"
         },
         CanRead = true
     };
     IoDevice.NumTags.Add(NumericTag);
     WriteOnlyNumericTag = new NumTag {
         Id         = 2,
         Device     = "D1",
         NumTagType = new NumTagType {
             Name = "Int16"
         },
         CanRead = false
     };
     IoDevice.NumTags.Add(WriteOnlyNumericTag);
     Reporter          = new Mock <INotificationReporter>();
     IoDeviceRunTarget =
         new IoDeviceRunTarget(IoDevice, IoDeviceWrapperFactory.Object, Reporter.Object);
     DigitalTagValue = true;
     NumericTagValue = new Random().Next();
     IoDeviceWrapper
     .Setup(w => w.Read(It.IsAny <ReadParameter[]>()))
     .Returns(new object[] { DigitalTagValue, NumericTagValue });
 }
Esempio n. 7
0
            protected override void EstablishContext()
            {
                base.EstablishContext();
                IoDevice = new IoDevice {
                    Name = "IoDevice",
                    Id   = 1
                };
                IoDevices = new EnumerableQuery <IoDevice>(new[] { IoDevice });
                Context.Setup(context => context.Get <IoDevice>()).Returns(IoDevices);

                IoDeviceRunTarget = new Mock <IIoDeviceRunTarget>();
                IoDeviceRunTargetFactory.Setup(f => f.Create(TimeService.Object, IoDevice))
                .Returns(IoDeviceRunTarget.Object);
                CyclicRunner = new Mock <ICyclicRunner>();
                CyclicRunnerFactory.Setup(f => f.Create(IoDeviceRunTarget.Object))
                .Returns(CyclicRunner.Object);
            }
Esempio n. 8
0
        public IoDeviceRunTarget(IoDevice ioDevice, IIoDeviceWrapperFactory wrapperFactory,
                                 INotificationReporter reporter)
        {
            Reporter        = reporter;
            Name            = string.Format(Res.IoDeviceWithName, ioDevice.Name);
            _filePath       = GetFilePath(ioDevice.Type);
            _options        = ioDevice.Options;
            _wrapperFactory = wrapperFactory;

            var digReadParameters   = new List <ReadParameter>();
            var digReadValueHolders = new List <ITagValueHolder>();

            foreach (DigTag t in ioDevice.DigTags)
            {
                var holder = new DigTagValueHolder(t);
                _digValueHolders.Add(t.Id, holder);
                if (t.CanRead)
                {
                    digReadValueHolders.Add(holder);
                    digReadParameters.Add(new ReadParameter(t.Device, typeof(bool)));
                }
            }

            var numReadParameters   = new List <ReadParameter>();
            var numReadValueHolders = new List <ITagValueHolder>();

            foreach (NumTag t in ioDevice.NumTags)
            {
                var holder = new NumTagValueHolder(t);
                _numValueHolders.Add(t.Id, holder);
                if (t.CanRead)
                {
                    numReadValueHolders.Add(holder);
                    numReadParameters.Add(new ReadParameter(t.Device, t.TagType));
                }
            }

            _readParameters   = digReadParameters.Concat(numReadParameters).ToArray();
            _readValueHolders = digReadValueHolders.Concat(numReadValueHolders).ToArray();
        }
Esempio n. 9
0
            protected override void EstablishContext()
            {
                base.EstablishContext();

                ReadDigTag   = new Mock <TagAbstract <bool?> >();
                ReadDigTagId = RandomGenerator.GetRandomInt32(int.MinValue + 1);
                ReadDigTag.SetupGet(t => t.Id).Returns(ReadDigTagId);
                IoDevice.AddDigTag(ReadDigTag.Object);

                DigitalTag   = new Mock <TagAbstract <bool?> >();
                DigitalTagId = ReadDigTagId - 1;
                DigitalTag.SetupGet(t => t.Id).Returns(DigitalTagId);
                IoDevice.AddDigTag(DigitalTag.Object);

                NumericTag   = new Mock <TagAbstract <double?> >();
                NumericTagId = RandomGenerator.GetRandomInt32(int.MinValue + 1);
                NumericTag.SetupGet(t => t.Id).Returns(NumericTagId);
                IoDevice.AddNumTag(NumericTag.Object);

                ReadNumericTag   = new Mock <TagAbstract <double?> >();
                ReadNumericTagId = NumericTagId - 1;
                ReadNumericTag.SetupGet(t => t.Id).Returns(ReadNumericTagId);
                IoDevice.AddNumTag(ReadNumericTag.Object);
            }
Esempio n. 10
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     Parameter = new RemapTagsParameter();
     IoDevice.Setup(d => d.CreateRemapParameter()).Returns(Parameter).Verifiable();
 }
Esempio n. 11
0
 public void Test()
 {
     IoDevice.Verify(t => t.ApplyRemapResult(null), Times.Once());
     IoDevice2.Verify(t => t.ApplyRemapResult(null), Times.Once());
 }
Esempio n. 12
0
 public void Test()
 {
     IoDevice.Verify();
 }
Esempio n. 13
0
 public void Test()
 {
     Assert.That(IoDevice.CreateRemapParameter(), Is.Null);
 }
Esempio n. 14
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     Parameter = IoDevice.CreateRemapParameter();
 }
Esempio n. 15
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     IoDevice.ApplyRemapResult(null);
 }