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)); }
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)); }