public void Accept(DeviceSetupOperation operation)
 {
 }
 void IOperationAcceptor.Accept(DeviceSetupOperation operation)
 {
     owner.Setup(operation);
 }
        public void When_reading_device_setup_operation_it_must_be_correct()
        {
            // Arrange
            byte[] buffer =
            {
                2,
                ByteFor('0'),
                ByteFor('5'),
                ByteFor('\t'),
                ByteFor('0'),
                ByteFor('1'),
                ByteFor('4'),
                ByteFor(':'),
                ByteFor('6'),
                ByteFor('5'),
                ByteFor('4'),
                ByteFor('3'),
                ByteFor('2'),
                ByteFor('1'),
                ByteFor('\t'),
                ByteFor('0'),
                ByteFor('2'),
                ByteFor('6'),
                ByteFor(':'),
                ByteFor('A'),
                ByteFor('B'),
                ByteFor('C'),
                ByteFor('D'),
                ByteFor('E'),
                ByteFor('F'),
                ByteFor('\t'),
                ByteFor('0'),
                ByteFor('1'),
                ByteFor('9'),
                ByteFor(':'),
                ByteFor('3'),
                ByteFor('1'),
                ByteFor('\t'),
                3
            };
            var reader = new PacketReader();

            // Act
            Operation operation = reader.Read(buffer);

            // Assert
            var expected = new DeviceSetupOperation(new WirelessNetworkAddress("ABCDEF"))
            {
                DestinationAddress = new WirelessNetworkAddress("654321"),
                Capabilities =
                    DeviceCapabilities.ControlKeypad | DeviceCapabilities.NumericKeypad | DeviceCapabilities.StartSensor |
                        DeviceCapabilities.IntermediateSensor | DeviceCapabilities.FinishSensor
            };

            operation.ShouldBeEquivalentTo(expected, options => options.IncludingAllRuntimeProperties());
        }
 public void Accept(DeviceSetupOperation operation)
 {
     WarnForUnexpectedOperation(operation);
 }
        public void When_writing_device_setup_operation_it_must_be_correct()
        {
            // Arrange
            var operation = new DeviceSetupOperation(new WirelessNetworkAddress("ABCDEF"))
            {
                DestinationAddress = new WirelessNetworkAddress("654321"),
                Capabilities =
                    DeviceCapabilities.ControlKeypad | DeviceCapabilities.NumericKeypad | DeviceCapabilities.StartSensor |
                        DeviceCapabilities.FinishSensor | DeviceCapabilities.IntermediateSensor
            };

            // Act
            byte[] buffer = PacketWriter.Write(operation, false);

            // Assert
            buffer.ShouldBeEquivalentTo(new byte[]
            {
                2,
                ByteFor('0'),
                ByteFor('5'),
                ByteFor('\t'),
                ByteFor('0'),
                ByteFor('1'),
                ByteFor('4'),
                ByteFor(':'),
                ByteFor('6'),
                ByteFor('5'),
                ByteFor('4'),
                ByteFor('3'),
                ByteFor('2'),
                ByteFor('1'),
                ByteFor('\t'),
                ByteFor('0'),
                ByteFor('2'),
                ByteFor('6'),
                ByteFor(':'),
                ByteFor('A'),
                ByteFor('B'),
                ByteFor('C'),
                ByteFor('D'),
                ByteFor('E'),
                ByteFor('F'),
                ByteFor('\t'),
                ByteFor('0'),
                ByteFor('1'),
                ByteFor('9'),
                ByteFor(':'),
                ByteFor('3'),
                ByteFor('1'),
                ByteFor('\t'),
                3
            });
        }