Exemple #1
0
        public void SetEmgStreaming_Disabled_ExpectedBridgeCalls()
        {
            // Setup
            var myoHandle   = new IntPtr(123);
            var errorHandle = IntPtr.Zero;

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.StreamEmg32(myoHandle, StreamEmgType.Disabled, out errorHandle))
            .Returns(MyoResult.Success);
            bridge
            .Setup(x => x.StreamEmg64(myoHandle, StreamEmgType.Disabled, out errorHandle))
            .Returns(MyoResult.Success);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            myoErrorHandlerDriver
            .Setup(x => x.FreeMyoError(errorHandle));

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            driver.SetEmgStreaming(false);

            // Assert
            bridge.Verify(x => x.StreamEmg32(myoHandle, StreamEmgType.Disabled, out errorHandle), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.StreamEmg64(myoHandle, StreamEmgType.Disabled, out errorHandle), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());

            myoErrorHandlerDriver.Verify(x => x.FreeMyoError(errorHandle), Times.Once);
        }
Exemple #2
0
        public void Vibrate_Medium_ExpectedBridgeCalls()
        {
            // Setup
            var vibration   = VibrationType.Medium;
            var myoHandle   = new IntPtr(123);
            var errorHandle = IntPtr.Zero;

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.Vibrate32(myoHandle, vibration, out errorHandle))
            .Returns(MyoResult.Success);
            bridge
            .Setup(x => x.Vibrate64(myoHandle, vibration, out errorHandle))
            .Returns(MyoResult.Success);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            myoErrorHandlerDriver
            .Setup(x => x.FreeMyoError(errorHandle));

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            driver.Vibrate(VibrationType.Medium);

            // Assert
            bridge.Verify(x => x.Vibrate32(myoHandle, vibration, out errorHandle), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.Vibrate64(myoHandle, vibration, out errorHandle), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());

            myoErrorHandlerDriver.Verify(x => x.FreeMyoError(errorHandle), Times.Once);
        }
Exemple #3
0
        public void GetFirmwareVersion_ValidParameters_ExpectedBridgeCalls()
        {
            // Setup
            uint expectedResult = 123;
            var  component      = VersionComponent.Major;
            var  myoHandle      = new IntPtr(123);
            var  eventHandle    = new IntPtr(789);

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.EventGetFirmwareVersion32(eventHandle, component))
            .Returns(expectedResult);
            bridge
            .Setup(x => x.EventGetFirmwareVersion64(eventHandle, component))
            .Returns(expectedResult);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            var result = driver.GetFirmwareVersion(eventHandle, component);

            // Assert
            Assert.Equal(expectedResult, result);

            bridge.Verify(x => x.EventGetFirmwareVersion32(eventHandle, component), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetFirmwareVersion64(eventHandle, component), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
        }
Exemple #4
0
        public void RequestRssi_ValidParameters_ExpectedBridgeCalls()
        {
            // Setup
            var myoHandle   = new IntPtr(123);
            var errorHandle = IntPtr.Zero;

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.RequestRssi32(myoHandle, out errorHandle))
            .Returns(MyoResult.Success);
            bridge
            .Setup(x => x.RequestRssi64(myoHandle, out errorHandle))
            .Returns(MyoResult.Success);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            myoErrorHandlerDriver
            .Setup(x => x.FreeMyoError(errorHandle));

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            driver.RequestRssi();

            // Assert
            bridge.Verify(x => x.RequestRssi32(myoHandle, out errorHandle), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.RequestRssi64(myoHandle, out errorHandle), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());

            myoErrorHandlerDriver.Verify(x => x.FreeMyoError(errorHandle), Times.Once);
        }
Exemple #5
0
        public void GetEventPose_ValidParameters_ExpectedBridgeCalls()
        {
            // Setup
            var expectedResult = Pose.Fist;
            var myoHandle      = new IntPtr(123);
            var eventHandle    = new IntPtr(789);

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.EventGetPose32(eventHandle))
            .Returns(expectedResult);
            bridge
            .Setup(x => x.EventGetPose64(eventHandle))
            .Returns(expectedResult);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            var result = driver.GetEventPose(eventHandle);

            // Assert
            Assert.Equal(expectedResult, result);

            bridge.Verify(x => x.EventGetPose32(eventHandle), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetPose64(eventHandle), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
        }
Exemple #6
0
        public void GetGyroscope_ValidParameters_ExpectedBridgeCalls()
        {
            // Setup
            var myoHandle   = new IntPtr(123);
            var eventHandle = new IntPtr(789);

            var expectedResult = new Vector3F(10, 20, 30);

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.EventGetGyroscope32(eventHandle, 0))
            .Returns(expectedResult.X);
            bridge
            .Setup(x => x.EventGetGyroscope32(eventHandle, 1))
            .Returns(expectedResult.Y);
            bridge
            .Setup(x => x.EventGetGyroscope32(eventHandle, 2))
            .Returns(expectedResult.Z);
            bridge
            .Setup(x => x.EventGetGyroscope64(eventHandle, 0))
            .Returns(expectedResult.X);
            bridge
            .Setup(x => x.EventGetGyroscope64(eventHandle, 1))
            .Returns(expectedResult.Y);
            bridge
            .Setup(x => x.EventGetGyroscope64(eventHandle, 2))
            .Returns(expectedResult.Z);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            var result = driver.GetGyroscope(eventHandle);

            // Assert
            Assert.Equal(expectedResult.X, result.X);
            Assert.Equal(expectedResult.Y, result.Y);
            Assert.Equal(expectedResult.Z, result.Z);

            bridge.Verify(x => x.EventGetGyroscope32(eventHandle, 0), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetGyroscope32(eventHandle, 1), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetGyroscope32(eventHandle, 2), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());

            bridge.Verify(x => x.EventGetGyroscope64(eventHandle, 0), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
            bridge.Verify(x => x.EventGetGyroscope64(eventHandle, 1), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
            bridge.Verify(x => x.EventGetGyroscope64(eventHandle, 2), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
        }
Exemple #7
0
        public void Create_ValidArguments_NewInstance()
        {
            // Setup
            var myoHandle             = new IntPtr(123);
            var bridge                = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);
            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            // Execute
            var result = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Assert
            Assert.NotNull(result);
        }
Exemple #8
0
        public void GetHandle_ValidState_MatchesConstructorParameter()
        {
            // Setup
            var myoHandle             = new IntPtr(123);
            var bridge                = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);
            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);
            var driver                = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            var result = driver.Handle;

            // Assert
            Assert.Equal(myoHandle, result);
        }
Exemple #9
0
        public void Create_NullMyoErrorHandlerDriver_ThrowsArgumentNullException()
        {
            // Setup
            var myoHandle = new IntPtr(123);
            var bridge    = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            // Execute
            Assert.ThrowsDelegate method = () => MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                null);

            // Assert
            var exception = Assert.Throws <ArgumentNullException>(method);

            Assert.Equal("myoErrorHandlerDriver", exception.ParamName);
        }
Exemple #10
0
        public void Create_DevicePointerNotSet_ThrowsArgumentException()
        {
            // Setup
            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);
            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            // Execute
            Assert.ThrowsDelegate method = () => MyoDeviceDriver.Create(
                IntPtr.Zero,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Assert
            var exception = Assert.Throws <ArgumentException>(method);

            Assert.Equal("handle", exception.ParamName);
        }
Exemple #11
0
        public void GetEventOrientation_ValidParameters_ExpectedBridgeCalls()
        {
            // Setup
            var myoHandle   = new IntPtr(123);
            var eventHandle = new IntPtr(789);

            var expectedResult = new QuaternionF(10, 20, 30, 40);

            var bridge = new Mock <IMyoDeviceBridge>(MockBehavior.Strict);

            bridge
            .Setup(x => x.EventGetOrientation32(eventHandle, OrientationIndex.W))
            .Returns(expectedResult.W);
            bridge
            .Setup(x => x.EventGetOrientation32(eventHandle, OrientationIndex.X))
            .Returns(expectedResult.X);
            bridge
            .Setup(x => x.EventGetOrientation32(eventHandle, OrientationIndex.Y))
            .Returns(expectedResult.Y);
            bridge
            .Setup(x => x.EventGetOrientation32(eventHandle, OrientationIndex.Z))
            .Returns(expectedResult.Z);
            bridge
            .Setup(x => x.EventGetOrientation64(eventHandle, OrientationIndex.W))
            .Returns(expectedResult.W);
            bridge
            .Setup(x => x.EventGetOrientation64(eventHandle, OrientationIndex.X))
            .Returns(expectedResult.X);
            bridge
            .Setup(x => x.EventGetOrientation64(eventHandle, OrientationIndex.Y))
            .Returns(expectedResult.Y);
            bridge
            .Setup(x => x.EventGetOrientation64(eventHandle, OrientationIndex.Z))
            .Returns(expectedResult.Z);

            var myoErrorHandlerDriver = new Mock <IMyoErrorHandlerDriver>(MockBehavior.Strict);

            var driver = MyoDeviceDriver.Create(
                myoHandle,
                bridge.Object,
                myoErrorHandlerDriver.Object);

            // Execute
            var result = driver.GetEventOrientation(eventHandle);

            // Assert
            Assert.Equal(expectedResult.W, result.W);
            Assert.Equal(expectedResult.X, result.X);
            Assert.Equal(expectedResult.Y, result.Y);
            Assert.Equal(expectedResult.Z, result.Z);

            bridge.Verify(x => x.EventGetOrientation32(eventHandle, OrientationIndex.W), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetOrientation32(eventHandle, OrientationIndex.X), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetOrientation32(eventHandle, OrientationIndex.Y), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());
            bridge.Verify(x => x.EventGetOrientation32(eventHandle, OrientationIndex.Z), PlatformInvocation.Running32Bit ? Times.Once() : Times.Never());

            bridge.Verify(x => x.EventGetOrientation64(eventHandle, OrientationIndex.W), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
            bridge.Verify(x => x.EventGetOrientation64(eventHandle, OrientationIndex.X), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
            bridge.Verify(x => x.EventGetOrientation64(eventHandle, OrientationIndex.Y), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
            bridge.Verify(x => x.EventGetOrientation64(eventHandle, OrientationIndex.Z), PlatformInvocation.Running32Bit ? Times.Never() : Times.Once());
        }