Пример #1
0
        public void ToVerboseTest()
        {
            var expected = "GivePhysicalAddress";
            var message  = CecMessageBuilder.GivePhysicalAddress(LogicalAddress.TV, LogicalAddress.PlaybackDevice1);

            Assert.AreEqual(expected, message.ToVerbose());
        }
Пример #2
0
        public void ProcessCecMessageTest_RoutingInformationThrows()
        {
            var device  = CreatePlaybackDevice();
            var message = CecMessageBuilder.RoutingInformation(LogicalAddress.Reserved1, PhysicalAddress.Parse("3.0.0.0"));

            Assert.Throws <NotSupportedException>(() => _ = device.ProcessCecMessage(message));
        }
Пример #3
0
        public void ProcessCecMessageTest_RequestActiveSource()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.SetOsdName(LogicalAddress.Tuner3, device.LogicalAddress, "Hello");
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
        }
Пример #4
0
        public void ProcessCecMessageTest_DeviceVendorId()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.DeviceVendorId(LogicalAddress.TV, 999);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
        }
Пример #5
0
        public void ProcessCecMessageTest_VendorCommandWithId()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.VendorCommandWithId(LogicalAddress.TV, device.LogicalAddress, 999, "Hello");
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
        }
Пример #6
0
        public void ProcessCecMessageTest_VendorRemoteButtonUp()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.VendorRemoteButtonUp(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
        }
Пример #7
0
        public void ProcessCecMessageTest_UserControlReleased()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.UserControlReleased(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
        }
Пример #8
0
        public void ProcessCecMessageTest_SetOSDString()
        {
            var device   = CreateTVDevice();
            var message  = CecMessageBuilder.SetOSDString(LogicalAddress.Tuner1, DisplayControl.DisplayForDefaultTime, "Hello");
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
        }
Пример #9
0
        public void ProcessCecMessageTest_GetMenuLanguage_Broadcast()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.GetMenuLanguage(LogicalAddress.TV, LogicalAddress.Unregistered);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(Command.None, response.Command);
        }
Пример #10
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));
        }
Пример #11
0
        public void ProcessCecMessageTest_SetStreamPath()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.SetStreamPath(device.PhysicalAddress);
            var response = device.ProcessCecMessage(message);
            var expected = CecMessageBuilder.ActiveSource(device.LogicalAddress, device.PhysicalAddress);

            Assert.AreEqual(expected, response);
        }
Пример #12
0
        public void ProcessCecMessageTest_GiveDevicePowerStatus()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.GiveDevicePowerStatus(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);
            var expected = CecMessageBuilder.ReportPowerStatus(device.LogicalAddress, message.Source, device.PowerStatus);

            Assert.AreEqual(expected, response);
        }
Пример #13
0
        public void ProcessCecMessageTest_DirectlyAddressedStandby()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.Standby(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
            Assert.AreEqual(PowerStatus.Standby, device.PowerStatus);
        }
Пример #14
0
        public void EqualsTest_ValuesAreEqual()
        {
            CecMessage message1 = CecMessageBuilder.CecVersion(LogicalAddress.PlaybackDevice1, LogicalAddress.TV, CecVersion.Version14);
            CecMessage message2 = CecMessageBuilder.CecVersion(LogicalAddress.PlaybackDevice1, LogicalAddress.TV, CecVersion.Version14);

            Assert.AreEqual(message1, message2);
            Assert.IsTrue(message1.Equals(message2));
            Assert.IsTrue(Equals(message1, message2));
        }
Пример #15
0
        public void ProcessCecMessageTest_BroadcastStandby()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.Standby(LogicalAddress.TV, LogicalAddress.Unregistered);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
            Assert.AreEqual(PowerStatus.Standby, device.PowerStatus);
        }
Пример #16
0
        public void ProcessCecMessageTest_GiveDeviceVendorId()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.GiveDeviceVendorId(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);
            var expected = CecMessageBuilder.DeviceVendorId(device.LogicalAddress, device.VendorId);

            Assert.AreEqual(expected, response);
        }
Пример #17
0
        public void ProcessCecMessageTest_RoutingChange()
        {
            var device  = CreatePlaybackDevice();
            var message = CecMessageBuilder.RoutingChange(LogicalAddress.Reserved1, PhysicalAddress.Parse("3.0.0.0"),
                                                          device.PhysicalAddress);
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
            Assert.IsTrue(device.IsActiveSource);
        }
Пример #18
0
        /// <inheritdoc cref="Command.ActiveSource"/>
        /// <param name="device">The device.</param>
        /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
        public static CecMessage ActiveSource(this CecDevice device)
        {
            if (device.PhysicalAddress == PhysicalAddress.None)
            {
                throw new InvalidOperationException("Physical address is not valid.");
            }

            device.IsActiveSource = true;
            return(CecMessageBuilder.ActiveSource(device.LogicalAddress, device.PhysicalAddress));
        }
Пример #19
0
        public void ProcessCecMessageTest_GiveOSDName()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.GiveOsdName(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            var expected = CecMessageBuilder.SetOsdName(device.LogicalAddress, message.Source, device.OsdName);

            Assert.AreEqual(expected, response);
        }
Пример #20
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);
        }
Пример #21
0
        public void ProcessCecMessageTest_GetMenuLanguage_FreeUseTV()
        {
            var device   = CreateTVDevice();
            var message  = CecMessageBuilder.GetMenuLanguage(LogicalAddress.Tuner3, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            var expected = CecMessageBuilder.SetMenuLanguage(device.LogicalAddress, device.Language);

            Assert.AreEqual(expected, response);
        }
Пример #22
0
        public void ProcessCecMessageTest_MenuRequestDeactivate()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.MenuRequest(device.LogicalAddress, MenuRequestType.Deactivate);
            var response = device.ProcessCecMessage(message);
            var expected = CecMessageBuilder.MenuStatus(device.LogicalAddress, MenuState.Deactivated);

            Assert.AreEqual(expected, response);
            Assert.AreEqual(MenuState.Deactivated, device.MenuState);
        }
Пример #23
0
        public void ProcessCecMessageTest_GetMenuLanguage_PlaybackDevice()
        {
            var device   = CreatePlaybackDevice();
            var message  = CecMessageBuilder.GetMenuLanguage(LogicalAddress.TV, device.LogicalAddress);
            var response = device.ProcessCecMessage(message);

            var expected = CecMessageBuilder.FeatureAbort(device.LogicalAddress, message.Source,
                                                          Command.GetMenuLanguage, AbortReason.UnrecognizedOpcode);

            Assert.AreEqual(expected, response);
        }
Пример #24
0
        public void ProcessCecMessageTest_SetMenuLanguage()
        {
            var device = CreatePlaybackDevice();

            Assert.AreEqual(CultureInfo.CurrentUICulture.ThreeLetterISOLanguageName, device.Language);

            var message  = CecMessageBuilder.SetMenuLanguage(LogicalAddress.TV, "heb");
            var response = device.ProcessCecMessage(message);

            Assert.AreEqual(CecMessage.None, response);
            Assert.AreEqual("heb", device.Language);
        }
Пример #25
0
 /// <inheritdoc cref="Command.ReportPowerStatus"/>
 /// <param name="device">The device.</param>
 /// <param name="language">The ISO-639-2 language code.</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage SetMenuLanguage(this CecDevice device, [NotNull] string language)
 {
     return(CecMessageBuilder.SetMenuLanguage(device.LogicalAddress, language));
 }
Пример #26
0
 /// <inheritdoc cref="Command.SetSystemAudioMode"/>
 /// <param name="device">The device.</param>
 /// <param name="destination">The destination address.</param>
 /// <param name="status">The system audio status.</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage SetSystemAudioMode(this CecDevice device, LogicalAddress destination, SystemAudioStatus status)
 {
     return(CecMessageBuilder.SetSystemAudioMode(device.LogicalAddress, destination, status));
 }
Пример #27
0
 /// <inheritdoc cref="Command.MenuStatus"/>
 /// <param name="device">The device.</param>
 /// <param name="status">The menu status.</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage MenuStatus(this CecDevice device, MenuState status)
 {
     return(CecMessageBuilder.MenuStatus(device.LogicalAddress, status));
 }
Пример #28
0
 /// <inheritdoc cref="Command.SetOSDName"/>
 /// <param name="device">The device.</param>
 /// <param name="destination">The destination address.</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage SetOsdName(this CecDevice device, LogicalAddress destination)
 {
     return(CecMessageBuilder.SetOsdName(device.LogicalAddress, destination, device.OsdName));
 }
Пример #29
0
 /// <inheritdoc cref="Command.GivePhysicalAddress"/>
 /// <param name="device">The device.</param>
 /// <param name="destination">The destination address.</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage GivePhysicalAddress(this CecDevice device, LogicalAddress destination)
 {
     return(CecMessageBuilder.GivePhysicalAddress(device.LogicalAddress, destination));
 }
Пример #30
0
 /// <inheritdoc cref="Command.DeviceVendorId"/>
 /// <param name="device">The device.</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage DeviceVendorId(this CecDevice device)
 {
     return(CecMessageBuilder.DeviceVendorId(device.LogicalAddress, device.VendorId));
 }