BuildLight.Core.DelcomUsbLightBuildIndicator.ShowIndicator C# (CSharp) Method

ShowIndicator() public method

public ShowIndicator ( IBuildStatusSource buildStatusSource ) : void
buildStatusSource IBuildStatusSource
return void
        public void ShowIndicator(IBuildStatusSource buildStatusSource)
        {
            switch (buildStatusSource.Status)
            {
                case IndicatorStatus.Unknown:
                    delcomLight.ChangeIndicator(DelcomIndicatorState.Off);
                    break;
                case IndicatorStatus.Success:
                    delcomLight.ChangeIndicator(DelcomIndicatorState.SolidGreen);
                    break;
                case IndicatorStatus.Building:
                    delcomLight.ChangeIndicator(DelcomIndicatorState.FlashingBlue);
                    break;
                case IndicatorStatus.Failure:
                    delcomLight.ChangeIndicator(DelcomIndicatorState.FlashingRed);
                    break;
            }
        }

Usage Example

        static void PerformIndicatorTest(IndicatorStatus indicatorStatus, DelcomIndicatorState expectedIndicatorState)
        {
            //arrange
            var mockLight = MockRepository.GenerateMock<IDelcomLight>();
            mockLight.Expect(m => m.ChangeIndicator(expectedIndicatorState)).Repeat.Once();

            var stubStatusSource = MockRepository.GenerateStub<IBuildStatusSource>();
            stubStatusSource.Stub(s => s.Status).Return(indicatorStatus);

            var indicator = new DelcomUsbLightBuildIndicator(mockLight);

            //act
            indicator.ShowIndicator(stubStatusSource);

            //assert
            mockLight.VerifyAllExpectations();
        }