예제 #1
0
        /// <inheritdoc cref="Command.ReportPhysicalAddress"/>
        /// <param name="device">The device.</param>
        /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
        public static CecMessage ReportPhysicalAddress(this CecDevice device)
        {
            if (device.PhysicalAddress == PhysicalAddress.None)
            {
                throw new InvalidOperationException("Physical address is not valid.");
            }

            return(CecMessageBuilder.ReportPhysicalAddress(device.LogicalAddress, device.DeviceType, device.PhysicalAddress));
        }
예제 #2
0
        public void ProcessCecMessageTest_GivePhysicalAddress()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.GivePhysicalAddress(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            var expected = CecMessageBuilder.ReportPhysicalAddress(device.LogicalAddress, device.DeviceType, device.PhysicalAddress);

            Assert.AreEqual(expected, response);
        }