Exemple #1
0
        public void Write_WritesMessage()
        {
            var message = new InjectTouchEventControlMessage()
            {
                Action    = MotionEventAction.DOWN,
                PointerId = 0x1234567887654321L,
                X         = 100,
                Y         = 200,
                Width     = 1080,
                Height    = 1920,
                Pressure  = 1,
                Buttons   = MotionEventButtons.PRIMARY,
            };

            var size = message.BinarySize;

            Assert.Equal(28, size);

            var memory = new Memory <byte>(new byte[size]);

            message.Write(memory);

            var expected = new byte[]
            {
                (byte)ControlMessageType.INJECT_TOUCH_EVENT,
                0x00,                                           // AKEY_EVENT_ACTION_DOWN
                0x12, 0x34, 0x56, 0x78, 0x87, 0x65, 0x43, 0x21, // pointer id
                0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xc8, // 100 200
                0x04, 0x38, 0x07, 0x80,                         // 1080 1920
                0xff, 0xff,                                     // pressure
                0x00, 0x00, 0x00, 0x01,                         // AMOTION_EVENT_BUTTON_PRIMARY
            };

            Assert.Equal(expected, memory.ToArray());
        }
Exemple #2
0
        public void ToFixedPoint16_ValidatesInput(float value)
        {
            var message = new InjectTouchEventControlMessage();

            Assert.Throws <ArgumentOutOfRangeException>(() => message.ToFixedPoint16(value));
        }
Exemple #3
0
        public void ToFixedPoint16_ConvertsValue(float value, ushort result)
        {
            var message = new InjectTouchEventControlMessage();

            Assert.Equal(result, message.ToFixedPoint16(value));
        }