Ejemplo n.º 1
0
        public void CompareNumbers_HigherNumber_ReturnCorrectData(int previousNumber, int newNumber, NumberComparison expectedResult)
        {
            var serviceUnderTest = new NumberGeneratorService(_mockConfigurationService.Object);
            var result           = serviceUnderTest.CompareNumbers(previousNumber, newNumber);

            Assert.AreEqual(expectedResult, result);
        }
Ejemplo n.º 2
0
        public void RequestRandomNumber_GeneratedNumberListEmpty_ReturnNumberBetween0And100()
        {
            var serviceUnderTest = new NumberGeneratorService(_mockConfigurationService.Object)
            {
                GeneratedNumbers = new List <int>()
            };

            var response = serviceUnderTest.GenerateRandomNumber();

            Assert.NotNull(response);
            Assert.GreaterOrEqual(response, 0);
            Assert.LessOrEqual(response, 100);
        }
Ejemplo n.º 3
0
        public void Tick(IForest forest)
        {
            _monthsOld++;

            if (Age == TreeAge.Sapling)
            {
                if (_monthsOld > 12)
                {
                    Age = TreeAge.Tree;
                }
                else
                {
                    return;
                }
            }

            if (Age == TreeAge.Tree && _monthsOld > 120)
            {
                Age = TreeAge.ElderTree;
            }


            if ((Age == TreeAge.Tree && NumberGeneratorService.GetNextRandomInRange(1, 10) == 1) ||  //Flat 10% chance
                Age == TreeAge.ElderTree && NumberGeneratorService.GetNextRandomInRange(1, 10) <= 2) //Flat 20% chance
            {
                var assigned          = false;
                var spotPossibilities = GetAdjacentSpots(forest.Bound);
                while (!assigned && spotPossibilities.Count > 0)
                {
                    var spotIndex = NumberGeneratorService.GetNextRandomOfBound(spotPossibilities.Count);
                    var checkSpot = spotPossibilities[spotIndex];
                    spotPossibilities.RemoveAt(spotIndex);

                    if (forest.IsOpenSpot(checkSpot.X, checkSpot.Y))
                    {
                        assigned = true;
                        _saplingGeneratorService.CreateSapling(forest, checkSpot.X, checkSpot.Y);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public override void Tick(IForest forest)
        {
            var moves        = 0;
            var gridContents = forest.GridContents(Location);

            while (moves < 5 && CheckGridAtLocationFor <ILumberJack>(gridContents))
            {
                var spotPossibilities = GetAdjacentSpots(forest.Bound);
                var desiredSpot       = spotPossibilities[NumberGeneratorService.GetNextRandomOfBound(spotPossibilities.Count - 1)];
                Location = desiredSpot;
                moves++;
                gridContents = forest.GridContents(Location);
            }
            if (gridContents != null)
            {
                var lumberJacks = gridContents.Where(o => o is ILumberJack).ToList();
                if (lumberJacks.Any())
                {
                    Maul(forest, (ILumberJack)lumberJacks.First());
                }
            }
        }
        public void GetGeneratedAccountNumber_GeneratedNumberNotContainingInExistingSet()
        {
            var accs = new List <Account>()
            {
                new Account {
                    AccountNumber = "11111111111111111111"
                },
                new Account {
                    AccountNumber = "11111111111111111112"
                }
            };
            var accNumbers = new List <string>();

            foreach (var acc in accs)
            {
                accNumbers.Add(acc.AccountNumber);
            }
            var service = new NumberGeneratorService();

            var accNumber = service.GetGeneratedAccountNumber(accs);

            Assert.Equal(20, accNumber.Length);
            Assert.DoesNotContain(accNumber, accNumbers);
        }
        public void GetGeneratedCardNumber_GeneratedNumberNotContainingInExistingSet()
        {
            var cards = new List <Card>()
            {
                new Card {
                    CardNumber = "1111111111111111"
                },
                new Card {
                    CardNumber = "1111111111111112"
                }
            };
            var cardNumbers = new List <string>();

            foreach (var card in cards)
            {
                cardNumbers.Add(card.CardNumber);
            }
            var service = new NumberGeneratorService();

            var cardNumber = service.GetGeneratedCardNumber(cards);

            Assert.Equal(16, cardNumber.Length);
            Assert.DoesNotContain(cardNumber, cardNumbers);
        }
        public void GetGeneratedAccountNumber_ThrowsNullReferenceExceptionWhenArgIsNull()
        {
            var service = new NumberGeneratorService();

            Assert.Throws(new NullReferenceException().GetType(), () => service.GetGeneratedAccountNumber(null));
        }