public void QueenBee_DontProduceBeeBeforeTheTime()
        {
            QueenBee bee = new QueenBee();

            int children = 0;

            bee.ActionPerformed += (sender, args) =>
            {
                if (args.ActionType == BeeActionType.ProduceBee)
                {
                    Interlocked.Increment(ref children);
                }
            };

            bee.RequestForBeehiveData += (sender, args) => { };

            bee.StartWork();

            Task.Delay((int)(this.queenBalance.TimeToProduceBee.TotalMilliseconds / 2))
            .GetAwaiter().GetResult();

            Assert.AreEqual(0, children);

            bee.StopWork();
        }
Пример #2
0
        /// <summary>
        /// Makes a new <see cref="Bee"/>
        /// </summary>
        /// <param name="beeType">The type of bee to make, <see cref="BeeType"/></param>
        /// <param name="queen">The stats the new <see cref="Bee"/> should be made with, <see cref="QueenBee"/></param>
        /// <returns>A new <see cref="Bee"/></returns>
        public Bee MakeBee(BeeType beeType, QueenBee queen)
        {
            //* gives all of the primary and secondary stats to the bee
            NormalBee nb = new NormalBee()
            {
                pSpecies = CombineSpecies(queen.queen.sSpecies, queen.drone.sSpecies),
                sSpecies = CombineSpecies(queen.queen.sSpecies, queen.drone.sSpecies),

                pEffect = CombineEffect(queen.queen.sEffect, queen.drone.sEffect),
                sEffect = CombineEffect(queen.queen.sEffect, queen.drone.sEffect),

                pFertility = CombineFertility(queen.queen.sFertility, queen.drone.sFertility),
                sFertility = CombineFertility(queen.queen.sFertility, queen.drone.sFertility),

                pLifespan = CombineLifespan(queen.queen.sLifespan, queen.drone.sLifespan),
                sLifespan = CombineLifespan(queen.queen.sLifespan, queen.drone.sLifespan),

                pProdSpeed = CombineProductionSpeed(queen.queen.sProdSpeed, queen.drone.sProdSpeed),
                sProdSpeed = CombineProductionSpeed(queen.queen.sProdSpeed, queen.drone.sProdSpeed)
            };

            //QuestEvents.CallBeeCraftedEvent(nb.pSpecies);

            //* returns the new bee
            return(new Bee(beeType, nb));
        }
        public async Task <int> CreateAsync(
            int beehiveId,
            QueenBeeType queenType,
            string markingColour,
            string origin,
            string temper)
        {
            var beehive = this.beehiveService.FindById(beehiveId);

            var queen = new QueenBee
            {
                BeehiveId     = beehiveId,
                Type          = queenType,
                MarkingColour = markingColour,
                Origin        = origin,
                Temper        = temper,
            };

            beehive.HasQueen = true;

            await this.db.QueenBees.AddAsync(queen);

            this.db.SaveChangesAsync().GetAwaiter().GetResult();

            await AddQueenInBeehive(beehive, queen);

            return(queen.Id);
        }
        public void WhenAQueenBeeIsCreated_ItIsAlive()
        {
            // Arrange
            var queenBee = new QueenBee();

            // Assert
            Assert.IsFalse(queenBee.IsDead);
        }
Пример #5
0
        public void QueenDeadTest()
        {
            ///This test is to check if the queen is not still alive after 90 damage.
            QueenBee bee1 = new QueenBee();

            bee1.Damage(90);
            Assert.AreEqual(true, bee1.IsDead);
        }
Пример #6
0
        public void QueenAliveTest()
        {
            //This test is to check if the queen is still alive after 10 damage.
            QueenBee bee1 = new QueenBee();

            bee1.Damage(10);
            Assert.AreEqual(false, bee1.IsDead);
        }
        public void WhenAQueenBeeIsCreated_ItsHealthIsOneHundred()
        {
            // Arrange
            var queenBee = new QueenBee();

            // Assert
            Assert.AreEqual(100, queenBee.Health);
        }
Пример #8
0
        public static Piece GetPieceByNotation(string pieceNotation)
        {
            PieceColor color;
            int        number;
            Piece      piece;

            if (pieceNotation[0] == 'w')
            {
                color = PieceColor.White;
            }
            else if (pieceNotation[0] == 'b')
            {
                color = PieceColor.Black;
            }
            else
            {
                throw new Exception("Invalid color notation");
            }

            if (pieceNotation.Length == 3)
            {
                if (!int.TryParse(pieceNotation[2].ToString(), out number))
                {
                    throw new Exception("Invalid number notation");
                }
            }
            else
            {
                number = 1;
            }

            switch (pieceNotation[1])
            {
            case 'A':
                piece = new Ant(color, number);
                break;

            case 'B':
                piece = new Beetle(color, number);
                break;

            case 'G':
                piece = new Hopper(color, number);
                break;

            case 'S':
                piece = new Spider(color, number);
                break;

            case 'Q':
                piece = new QueenBee(color, number);
                break;

            default:
                throw new Exception("Invalid piece notation");
            }
            return(piece);
        }
        public void DeathTest2()
        {
            int      damageAmount = 81;
            QueenBee bee          = new QueenBee();

            bee.Damage(damageAmount);
            Assert.AreEqual(bee.Health, 19);
            bee.Damage(damageAmount);
            Assert.AreEqual(bee.Health, 19);
        }
        public void WhenDamagingAQueenBeeForEightyPercent_ItIsAlive()
        {
            // Arrange
            var queenBee = new QueenBee();

            // Act
            queenBee.Damage(80);

            // Assert
            Assert.IsFalse(queenBee.IsDead);
        }
        public void WhenDamagingAQueenBeeForEightyOne_ItIsDead()
        {
            // Arrange
            var queenBee = new QueenBee();

            // Act
            queenBee.Damage(81);

            // Assert
            Assert.IsTrue(queenBee.IsDead);
        }
        public void WhenConvertingAQueenBeeToTypeString_CorrectStringIsReturned()
        {
            // Arrange
            var bee       = new QueenBee();
            var converter = new BeeTypeToStringConverter();

            // Act
            var beeTypeString = converter.Convert(bee, null, null, null);

            // Assert
            Assert.AreEqual("Queen Bee", beeTypeString);
        }
Пример #13
0
        static void Main(string[] args)
        {
            Bee      honey   = new Bee("Honey-B-Goode", "Honey-Bee", 5, 10);
            Bee      max     = new Bee("Wax", "LOL", 3, 6);
            QueenBee beyonce = new QueenBee("Beyonce", "Queen", 150);

            Console.WriteLine(Bee.NumBees);
            Console.WriteLine(honey.Name);
            Console.WriteLine(honey.Stripes);
            List <Bee> Hive = new List <Bee> ();

            honey.PrintInfo();
            beyonce.PrintInfo();
            Hive.Add(honey);
            Hive.Add(max);
            Hive.Add(beyonce);
        }
        private void CreateObjectOfBees()
        {
            for (int i = 0; i < 10; i++)
            {
                Workerbee workerBee = new Workerbee()
                {
                    WorkerBeeId = i + 1
                };
                workerBees.Add(workerBee);

                QueenBee queenBee = new QueenBee()
                {
                    QueenBeeId = i + 1
                };
                QueenBees.Add(queenBee);

                DroneBee droneBee = new DroneBee()
                {
                    DroneBeeId = i + 1
                };
                DroneBees.Add(droneBee);
            }
        }
        public void QueenBee_ProduceBees()
        {
            QueenBee bee = new QueenBee();

            int children = 0;

            bee.ActionPerformed += (sender, args) =>
            {
                if (args.ActionType == BeeActionType.ProduceBee)
                {
                    Interlocked.Increment(ref children);
                }
            };

            bee.RequestForBeehiveData += (sender, args) => { };

            bee.StartWork();

            Task.Delay((int)this.queenBalance.TimeToProduceBee.TotalMilliseconds * 10).GetAwaiter().GetResult();

            bee.StopWork();

            Assert.IsTrue(Math.Abs(children - 10) <= 10 * QueenBeeTests.Inaccuracy);
        }
Пример #16
0
        protected override void Seed(BeeContext context)
        {
            QueenBee elizibuzz = new QueenBee("Elizibuzz");
            QueenBee beeatrice = new QueenBee("Bee-atrice");

            var Bees = new List <Bee> {
                elizibuzz,
                beeatrice,
                new WorkerBee("Larry"),
                new DroneBee()
            };

            Bees.ForEach(s => context.Bees.Add(s));
            context.SaveChanges();

            var BeeHives = new List <BeeHive>
            {
                new BeeHive(beeatrice, enunHiveType.HIVE_TYPE_KINGSUPER, "Kingdom of Bee-A-Trice"),
                new BeeHive(elizibuzz, enunHiveType.HIVE_TYPE_NUKEBOX),
            };

            BeeHives.ForEach(s => context.BeeHives.Add(s));
            context.SaveChanges();
        }
Пример #17
0
        public void HealthThreshold_DefaultsTo20()
        {
            var bee = new QueenBee();

            Assert.AreEqual(20, bee.HealthThreshold);
        }
 private async Task AddQueenInBeehive(Beehive beehive, QueenBee queen)
 {
     beehive.HasQueen = true;
     beehive.QueenBees.Add(queen);
     await this.db.SaveChangesAsync();
 }
Пример #19
0
 public void Setup()
 {
     _sut = new QueenBee();
 }
Пример #20
0
        private void GeneratePlacementMoves()
        {
            foreach (KeyValuePair <Hex, Hivailability> kvp in _hivailableHexes)
            {
                if (kvp.Value.BlackCanPlace && !_whiteToPlay)
                {
                    // on turn 1 you cannot place a bee
                    if (!(turnNumber == 2))
                    {
                        QueenBee queenBee = _unplayedPieces.OfType <QueenBee>().Where(p => p.color == PieceColor.Black).FirstOrDefault();
                        if (null != queenBee)
                        {
                            _moves.Add(Move.GetMove(queenBee, kvp.Key));
                        }
                        // on turn 4 you must place a bee if you haven't already
                        if (!blackQueenPlaced && turnNumber == 8)
                        {
                            continue;
                        }
                    }

                    Beetle beetle = _unplayedPieces.OfType <Beetle>().Where(p => p.color == PieceColor.Black).FirstOrDefault();
                    Ant    ant    = _unplayedPieces.OfType <Ant>().Where(p => p.color == PieceColor.Black).FirstOrDefault();
                    Spider spider = _unplayedPieces.OfType <Spider>().Where(p => p.color == PieceColor.Black).FirstOrDefault();
                    Hopper hopper = _unplayedPieces.OfType <Hopper>().Where(p => p.color == PieceColor.Black).FirstOrDefault();
                    if (null != beetle)
                    {
                        _moves.Add(Move.GetMove(beetle, kvp.Key));
                    }
                    if (null != ant)
                    {
                        _moves.Add(Move.GetMove(ant, kvp.Key));
                    }
                    if (null != spider)
                    {
                        _moves.Add(Move.GetMove(spider, kvp.Key));
                    }
                    if (null != hopper)
                    {
                        _moves.Add(Move.GetMove(hopper, kvp.Key));
                    }
                }
                if (kvp.Value.WhiteCanPlace && _whiteToPlay)
                {
                    // on turn 1 you cannot place a bee
                    if (!(turnNumber == 1))
                    {
                        QueenBee queenBee = _unplayedPieces.OfType <QueenBee>().Where(p => p.color == PieceColor.White).FirstOrDefault();
                        if (null != queenBee)
                        {
                            _moves.Add(Move.GetMove(queenBee, kvp.Key));
                        }
                        // on turn 4 you must place a bee if you haven't already
                        if (!whiteQueenPlaced && turnNumber == 7)
                        {
                            continue;
                        }
                    }

                    Beetle beetle = _unplayedPieces.OfType <Beetle>().Where(p => p.color == PieceColor.White).FirstOrDefault();
                    Ant    ant    = _unplayedPieces.OfType <Ant>().Where(p => p.color == PieceColor.White).FirstOrDefault();
                    Spider spider = _unplayedPieces.OfType <Spider>().Where(p => p.color == PieceColor.White).FirstOrDefault();
                    Hopper hopper = _unplayedPieces.OfType <Hopper>().Where(p => p.color == PieceColor.White).FirstOrDefault();
                    if (null != beetle)
                    {
                        _moves.Add(Move.GetMove(beetle, kvp.Key));
                    }
                    if (null != ant)
                    {
                        _moves.Add(Move.GetMove(ant, kvp.Key));
                    }
                    if (null != spider)
                    {
                        _moves.Add(Move.GetMove(spider, kvp.Key));
                    }
                    if (null != hopper)
                    {
                        _moves.Add(Move.GetMove(hopper, kvp.Key));
                    }
                }
            }
        }
Пример #21
0
 public void Setup()
 {
     _workerBee = new WorkerBee();
     _droneBee  = new DroneBee();
     _queenBee  = new QueenBee();
 }