Exemplo n.º 1
0
        public void CommitVitalsChanges()
        {
            if (Settings.IsVerbose)
            {
                Console.WriteDebugLine("    Committing vitals changes");
            }

            foreach (var vital in VitalsChange.Keys)
            {
                var changeValue   = VitalsChange [vital];
                var previousValue = Actor.Vitals [vital];
                var newValue      = previousValue + changeValue;

                newValue = PercentageValidator.Validate(newValue);

                if (Settings.IsVerbose)
                {
                    Console.WriteDebugLine("      " + vital);
                    Console.WriteDebugLine("        Previous: " + previousValue);
                    Console.WriteDebugLine("        Change: " + changeValue);
                    Console.WriteDebugLine("        New value: " + newValue);
                }
                Actor.Vitals [vital] = newValue;
            }

            VitalsChange.Clear();
        }
        public void ShouldNotAcceptValuesUnder0OrHigherThan100(string aNonPercentValue)
        {
            var validator = new PercentageValidator();

            var isValid = validator.Validate(aNonPercentValue);

            isValid.Should().BeFalse();
        }
        public void ShouldAcceptValuesBetween0And100(string aPercentValue)
        {
            var validator = new PercentageValidator();

            var isValid = validator.Validate(aPercentValue);

            isValid.Should().BeTrue();
        }
        private static bool IsValid(AddOrEditWeatherOfTheDayCommand request)
        {
            var percentageValidator = new PercentageValidator();
            var isValid             = percentageValidator.IsValid(request.Cloudiness) &&
                                      percentageValidator.IsValid(request.Humidity) &&
                                      percentageValidator.IsValid(request.RainChance) &&
                                      percentageValidator.IsValid(request.Cloudiness) &&
                                      new IsInRangeValidator(0, 500).IsValid(request.WindSpeed) &&
                                      new IsInRangeValidator(0, 1200).IsValid(request.Pressure) &&
                                      request.Temperatures.All(x => new IsInRangeValidator(-50, 65).IsValid(x.Temperature));

            return(isValid);
        }
        public void ContinueConstruction(Person person)
        {
            if (Settings.IsVerbose)
            {
                Console.WriteDebugLine("  Continuing shelter construction");
            }

            var home = person.Home;

            Status = "Building " + (int)home.PercentComplete + "%";

            home.PercentComplete += PercentageValidator.Validate(Settings.ConstructionRate);

            home.PercentComplete = PercentageValidator.Validate(home.PercentComplete);

            if (Settings.IsVerbose)
            {
                Console.WriteDebugLine("    Increase: " + PercentageValidator.Validate(Settings.ConstructionRate) + "%");
                Console.WriteDebugLine("    Total: " + home.PercentComplete + "%");
            }
        }
        public void ShouldReturnErrorMessage()
        {
            var validator = new PercentageValidator();

            validator.GetErrorMessage().Should().Be("A percentage must be a number between 0 and 100");
        }