예제 #1
0
        public void EnteringSportModeResultsInEvent()
        {
            var selector = new ResponsivenessModeSelector();

            var events = selector.EnterSport();

            Assert.True(events.Any(x => x is SportModeEntered));
        }
예제 #2
0
        public void SettingAggressivenessLevelResultsInEvent()
        {
            var selector = new ResponsivenessModeSelector();

            var events = selector.SetAggressivenessLevel(AggressivenessLevel.Second);

            Assert.True(events.Any(x => x is AggressivenessLevelSelected));
        }
예제 #3
0
        public void EnteringComfortModeResultsInEvent()
        {
            var selector = new ResponsivenessModeSelector();

            selector.EnterEconomic();
            var events = selector.EnterComfort();

            Assert.True(events.Any(x => x is ComfortModeEntered));
        }
예제 #4
0
        public void CannotSetSameAggressivenessLevelTwice()
        {
            var selector = new ResponsivenessModeSelector();

            Assert.Throws <DomainRuleViolatedException>(() =>
            {
                selector.SetAggressivenessLevel(AggressivenessLevel.First);
                selector.SetAggressivenessLevel(AggressivenessLevel.First);
            });
        }
예제 #5
0
        public void CannotEnterEconomicModeTwice()
        {
            var selector = new ResponsivenessModeSelector();

            Assert.Throws <DomainRuleViolatedException>(() =>
            {
                selector.EnterEconomic();
                selector.EnterEconomic();
            });
        }