interval := 5 * time.Second Expect(client.SetDiscoveryInterval(interval)).To(Succeed()) }) It("should update the discovery interval when it's non-zero", func() { interval := 5 * time.Second Expect(client.SetDiscoveryInterval(interval)).To(Succeed()) interval = 10 * time.Second Expect(client.SetDiscoveryInterval(interval)).To(Succeed()) }) It("should perform discovery on the interval", func() { mockProtocol.On(`Discover`).Return(nil).Twice() Expect(client.SetDiscoveryInterval(100 * time.Millisecond)).To(Succeed()) time.Sleep(250 * time.Millisecond) mockProtocol.AssertNumberOfCalls(GinkgoT(), `Discover`, 3) }) It("should send SetPower to the protocol", func() { mockProtocol.On(`SetPower`, true).Return(nil) Expect(client.SetPower(true)).To(Succeed()) }) It("should send SetPowerDuration to the protocol", func() { duration := 5 * time.Second mockProtocol.On(`SetPowerDuration`, true, duration).Return(nil) Expect(client.SetPowerDuration(true, duration)).To(Succeed()) }) It("should send SetColor to the protocol", func() { color := common.Color{}