示例#1
0
        public void TurnUpVolumeAdjustmentStart()
        {
            Semaphore volumeSetLock = new Semaphore(0, 1);
            Dictionary <String, String> expectedVals = new Dictionary <string, string>
            {
                { "Command", "volume" },
                { "direction", "up" },
                { "levelNum", "-1" },
                { "source", "" },
            };
            Mock <IVolumeController> controller = new Mock <IVolumeController>(MockBehavior.Strict);

            controller.Setup(v => v.IsValid).Returns(true);
            controller.Setup(v => v.Name).Returns("Test Volume Controller");
            controller.SetupGet(v => v.Volume).Returns(0.5);
            controller.SetupSet(v => v.Volume = 0.55).Callback(() => volumeSetLock.Release());
            AddComponentToConfigurationManager(controller.Object);
            CurrentConversation = new VolumeConversation(GetConfigurationManager(), new List <IOInterfaceReference> {
                new IOInterfaceReference("", "Test Volume Controller", GetConfigurationManager()),
            });

            Assert.AreEqual("How is that?", RunSingleConversation <VolumeConversation>(expectedVals, false));

            Assert.IsTrue(volumeSetLock.WaitOne());
            controller.VerifySet(v => v.Volume = 0.55, Times.Exactly(1));
        }
示例#2
0
        public void MuteVolumeLevelsMultipleControllersUseSource()
        {
            Semaphore volumeSetLock = new Semaphore(0, 1);
            Dictionary <String, String> expectedVals = new Dictionary <string, string>
            {
                { "Command", "volume" },
                { "direction", "mute" },
                { "levelNum", "0" },
                { "source", "Test Volume Controller" },
            };
            Mock <IVolumeController> controller1 = new Mock <IVolumeController>(MockBehavior.Strict);

            controller1.Setup(v => v.IsValid).Returns(true);
            controller1.Setup(v => v.Name).Returns("Test Volume Controller");
            controller1.SetupGet(v => v.Volume).Returns(0.5);
            controller1.SetupSet(v => v.Volume = 0.0).Callback(() => volumeSetLock.Release());
            AddComponentToConfigurationManager(controller1.Object);
            Mock <IVolumeController> controller2 = new Mock <IVolumeController>(MockBehavior.Strict);

            controller2.Setup(v => v.IsValid).Returns(true);
            controller2.Setup(v => v.Name).Returns("Test Volume Controller Two");
            AddComponentToConfigurationManager(controller2.Object);
            CurrentConversation = new VolumeConversation(GetConfigurationManager(), new List <IOInterfaceReference>
            {
                new IOInterfaceReference("", "Test Volume Controller", GetConfigurationManager()),
                new IOInterfaceReference("", "Test Volume Controller Two", GetConfigurationManager()),
            });

            Assert.AreEqual("OK", RunSingleConversation <VolumeConversation>(expectedVals));

            Assert.IsTrue(volumeSetLock.WaitOne());
            controller1.VerifySet(v => v.Volume = 0.0, Times.Exactly(1));
        }