Exemplo n.º 1
0
        public void ShouldCallActionHandler()
        {
            var mock = new Mock <IGPIODevice>();

            mock.Setup(gpio => gpio.SetDirection(Direction.IN)).Returns(true);
            mock.Setup(gpio => gpio.GetValue()).Returns(0);
            var callArgs          = new Dictionary <string, object>();
            var eventListenerMock = new Mock <IEventListener>();

            eventListenerMock.Setup(e => e.onEvent(It.IsAny <object>(), It.IsAny <MeasuredValueChange>()))
            .Callback <object, MeasuredValueChange>((sender, mesuredValue) =>
            {
                callArgs.Add("deviceID", mesuredValue.DeviceID);
                callArgs.Add("measureName", mesuredValue.MeasureName);
                callArgs.Add("spaceID", mesuredValue.SpaceID);
                callArgs.Add("value", mesuredValue.NewValue);
            });
            var device = new ConfiguredGPIOSensor(mock.Object, "testSpace");

            device.ValueChanged += eventListenerMock.Object.onEvent;

            device.FindDevice();
            var measureValue = device.Act();

            Assert.AreEqual(true, measureValue);
            Assert.AreEqual(null, callArgs["deviceID"]);
            Assert.AreEqual("indoorSensor", (string)callArgs["measureName"]);
            Assert.AreEqual("testSpace", (string)callArgs["spaceID"]);
            Assert.AreEqual(0, (float)callArgs["value"]);
            mock.Verify(gpio => gpio.GetValue(), Times.Once());
            eventListenerMock.Verify(e => e.onEvent(It.IsAny <object>(), It.IsAny <MeasuredValueChange>()), Times.Once());
        }
Exemplo n.º 2
0
        public void ShouldNotInitDevice()
        {
            var mock = new Mock <IGPIODevice>();

            mock.Setup(gpio => gpio.SetDirection(Direction.IN)).Throws(new Exception("Tested Exception"));
            var device       = new ConfiguredGPIOSensor(mock.Object, "testSpace");
            var measureValue = device.FindDevice();

            Assert.AreEqual(false, measureValue);
        }
Exemplo n.º 3
0
        public void ShouldInitDevice()
        {
            var mock = new Mock <IGPIODevice>();

            mock.Setup(gpio => gpio.SetDirection(Direction.IN)).Returns(true);
            var device       = new ConfiguredGPIOSensor(mock.Object, "testSpace");
            var measureValue = device.FindDevice();

            Assert.AreEqual(true, measureValue);
        }
Exemplo n.º 4
0
        public void ShouldMesureValue()
        {
            var mock = new Mock <IGPIODevice>();

            mock.Setup(gpio => gpio.SetDirection(Direction.IN)).Returns(true);
            mock.Setup(gpio => gpio.GetValue()).Returns(0);
            var device = new ConfiguredGPIOSensor(mock.Object, "testSpace");

            device.FindDevice();
            var measureValue = device.Act();

            Assert.AreEqual(true, measureValue);
            mock.Verify(gpio => gpio.GetValue(), Times.Once());
        }
Exemplo n.º 5
0
        public void ShouldNotCallActionHandlerWhenValueNotChange()
        {
            var mock = new Mock <IGPIODevice>();

            mock.Setup(gpio => gpio.SetDirection(Direction.IN)).Returns(true);
            mock.Setup(gpio => gpio.GetValue()).Returns(0);
            mock.SetupGet(gpio => gpio.lastValue).Returns(0);
            var device            = new ConfiguredGPIOSensor(mock.Object, "testSpace");
            var eventListenerMock = new Mock <IEventListener>();

            eventListenerMock.Setup(e => e.onEvent(It.IsAny <object>(), It.IsAny <MeasuredValueChange>()));
            device.ValueChanged += eventListenerMock.Object.onEvent;

            device.FindDevice();
            var measureValue = device.Act();

            Assert.AreEqual(false, measureValue);
            mock.Verify(gpio => gpio.GetValue(), Times.Once());
            eventListenerMock.Verify(e => e.onEvent(It.IsAny <object>(), It.IsAny <MeasuredValueChange>()), Times.Never());
        }
Exemplo n.º 6
0
        public void DoesNotCallAnythingWhenUnalbeToGetValue()
        {
            var mock = new Mock <IGPIODevice>();

            mock.Setup(gpio => gpio.SetDirection(Direction.IN)).Returns(true);
            mock.Setup(gpio => gpio.GetValue()).Throws(new Exception("Test exception"));
            var eventListenerMock = new Mock <IEventListener>();

            eventListenerMock.Setup(e => e.onEvent(It.IsAny <object>(), It.IsAny <MeasuredValueChange>()));

            var device = new ConfiguredGPIOSensor(mock.Object, "testSpace");

            device.ValueChanged += eventListenerMock.Object.onEvent;

            device.FindDevice();
            var measureValue = device.Act();

            Assert.AreEqual(false, measureValue);
            mock.Verify(gpio => gpio.GetValue(), Times.Once());
            eventListenerMock.Verify(e => e.onEvent(It.IsAny <object>(), It.IsAny <MeasuredValueChange>()), Times.Never());
        }