Example #1
0
        public StarShipDTO GetStopsRequired(string distanceMgltText, string url)
        {
            int      distanceMglt = ConvertDistance(distanceMgltText);
            StarShip starShip     = this.starShipFacade.GetStarShips(url);
            IEnumerable <StarShipItem> starShipItems = starShip.StarShipItems;

            var starShipDTO = new StarShipDTO();

            starShipDTO.NextPage = starShip.Next;

            foreach (var item in starShipItems)
            {
                int daysCount = this.DayConverter.ConvertToDays(item.Consumables);
                int mglt      = item.Mglt.ToInt();

                var starShipItemDTO = new StarShipItemDTO();
                starShipItemDTO.Name          = item.Name;
                starShipItemDTO.StopsRequired = this.calculationStops
                                                .CalculateStops(distanceMglt, mglt, daysCount);

                starShipDTO.StarShipItemDTO.Add(starShipItemDTO);
            }

            return(starShipDTO);
        }
Example #2
0
        public void TestMethodCreateStarship()
        {
            StarShip ship = new StarShip();

            ship.CreateStarShip(12000, "TestShip", 20);
            Assert.IsNotNull(ship);
        }
Example #3
0
        public bool Save(User user, StarShip starShip)
        {
            try
            {
                using (StarContext starBattleDB = new StarContext())
                {
                    starBattleDB.StarShips.Add(starShip);
                    starBattleDB.SaveChanges();
                    //user.StarShipId = starBattleDB.StarShips.FirstOrDefault(a => a.Name == starShip.Name).StarShipId;
                    user.StarShipId = starBattleDB.StarShips.ToList().LastOrDefault(a => a.Name == starShip.Name).StarShipId;

                    User userDelete = new User();
                    userDelete = starBattleDB.Users.FirstOrDefault(a => a.Name == user.Name && a.Password == user.Password);
                    starBattleDB.Users.Remove(userDelete);
                    starBattleDB.SaveChanges();
                    starBattleDB.Users.Add(user);
                    starBattleDB.SaveChanges();

                    //var myUser = starBattleDB.Users
                    //     .Where(a => a.Name == user.Name && a.Password == user.Password)
                    //     .FirstOrDefault();
                    //myUser = user;
                    // starBattleDB.SaveChanges();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Example #4
0
        public string AddUser(string name)
        {
            Logger.Info($"Processing 'AddUser' [{name}]");

            var user = new User
            {
                Name     = name,
                Id       = Guid.NewGuid().ToString(),
                Position = new Position(Global.Random.Next(300, 800), Global.Random.Next(100, 400), 0, 25),
                StarShip = new StarShip()
                {
                    HitPoints = 100,
                    Cooldown  = new Cooldown()
                },
                UserState  = UserState.Alive,
                TimeToLive = 10_000_000
            };

            user.Shot += User_Shot;
            user.Dead += User_Dead;

            _mapObjectStore.AddMapObject(user);

            return(user.Id);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            StarShip starShip = db.StarShips.Find(id);

            db.StarShips.Remove(starShip);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #6
0
        /// <summary>
        /// StarShip entity created with parameters needed to perform requested calculations
        /// </summary>
        /// <param name="starShip"></param>
        /// <returns></returns>
        private static StarShip ResolveStarship(JToken starShip)
        {
            StarShip ship = new StarShip();

            ship.CreateStarShip(ResolveConsumables(starShip.SelectToken("consumables").ToString()), starShip.SelectToken("name").ToString(), ResolveMGLT(starShip.SelectToken("MGLT").ToString()));

            return(ship);
        }
Example #7
0
 public static void PresentCrew(StarShip st)
 {
     Console.WriteLine("Captain's name: " + st.Captain.Name + ", Age: " + st.Captain.Age);
     Console.WriteLine("Crew:");
     foreach (var P in st.Crew)
     {
         Console.WriteLine(P.Name + ", Age: " + P.Age);
     }
 }
        public void ItShouldReturnNullForAShipWithUknownConsumables()
        {
            var ship = new StarShip("ship ship", 10, null, TimeMeasure.Week);

            int distance = 1;

            var numberOfStops = ship.GetNumberOfStopsRequired(distance);

            Assert.IsNull(numberOfStops);
        }
        public void ItShouldReturnNullForAShipWithUknownTimeMeasure()
        {
            var ship = new StarShip("ship ship", 20, 10, TimeMeasure.Unknown);

            int distance = 1;

            var numberOfStops = ship.GetNumberOfStopsRequired(distance);

            Assert.IsNull(numberOfStops);
        }
        public StarShip Map(StarShipDTO dto)
        {
            var megaliths              = this.GetMegaliths(dto);
            var consumables            = this.GetConsumables(dto);
            var consumablesTimeMeasure = this.GetConsumablesTimeMeasure(dto);

            var starShip = new StarShip(dto.ShipName, megaliths, consumables, consumablesTimeMeasure);

            return(starShip);
        }
Example #11
0
        public void TestMethodCalculateStops()
        {
            int      distance = 10000000;
            StarShip ship     = new StarShip();

            ship.CreateStarShip(12000, "TestShip", 20);
            int stops = ship.CalculateStops(distance);

            Assert.IsTrue(41 == ship.CalculateStops(distance));
        }
 public ActionResult Edit([Bind(Include = "Id,Name,CostInCredits,hyper_drive_rating")] StarShip starShip)
 {
     if (ModelState.IsValid)
     {
         db.Entry(starShip).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(starShip));
 }
        public void ItShouldReturn74StopsForY_Wing()
        {
            var ship = new StarShip("Y-Wing", 80, 1, TimeMeasure.Week);

            int givenDistanceInMegalights = 1000000;
            int expectedValue             = 74;

            var numberOfStops = ship.GetNumberOfStopsRequired(givenDistanceInMegalights);

            Assert.AreEqual(expectedValue, numberOfStops);
        }
        public void ItShouldReturn11StopsForRebelTransport()
        {
            var ship = new StarShip("Rebel Transport", 20, 6, TimeMeasure.Month);

            int givenDistanceInMegalights = 1000000;
            int expectedValue             = 11;

            var numberOfStops = ship.GetNumberOfStopsRequired(givenDistanceInMegalights);

            Assert.AreEqual(expectedValue, numberOfStops);
        }
        public ActionResult Create([Bind(Include = "Id,Name,CostInCredits,hyper_drive_rating")] StarShip starShip)
        {
            if (ModelState.IsValid)
            {
                db.StarShips.Add(starShip);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(starShip));
        }
        public bool Remove(StarShip t)
        {
            if (Contains(t))
            {
                RemoveSingle(t);

                return(true);
            }

            return(false);
        }
        public bool Add(StarShip t)
        {
            if (IsEnoughSpace(t))
            {
                AddSingle(t);

                return(true);
            }

            return(false);
        }
        public void ItShouldReturn9StopsForMillenniumFalcon()
        {
            var ship = new StarShip("Millennium Falcon", 75, 2, TimeMeasure.Month);

            int givenDistanceInMegalights = 1000000;
            int expectedValue             = 9;

            var numberOfStops = ship.GetNumberOfStopsRequired(givenDistanceInMegalights);

            Assert.AreEqual(expectedValue, numberOfStops);
        }
        public bool Move(StarShip t, IGeneralHolder <StarShip> generalHolder)
        {
            if (Contains(t) &&
                generalHolder.Add(t))
            {
                RemoveSingle(t);

                return(true);
            }

            return(false);
        }
Example #20
0
        public void GivenDistanceAndZeroConsumable_WhenCallCountStops_ShouldReturnZeroResult()
        {
            //arrange
            StarShip model = new StarShip {
                Consumables = "0 days", Mglt = 10
            };
            //act
            var result = model.CountStops(110);

            //assert
            result.Should().Be(0);
        }
Example #21
0
        /// <summary>
        /// Use this method to get the amount of stops required according parameters.
        /// </summary>
        /// <param name="mglt">String: Distance in mega lights (MGLT)</param>
        /// <param name="ship">StarShip: With autonomy attribute</param>
        /// <returns>Int: Amount stops required</returns>
        public static int CalculateShipStop(string mglt, StarShip ship)
        {
            int.TryParse(ship.autonomy.ToString(), out var autonomy);

            if (autonomy == 0)
            {
                throw new DivideByZeroException();
            }

            var megaLights = Convert.ToInt32(mglt);

            return(megaLights / autonomy);
        }
Example #22
0
        public void GivenDistanceAndWeeksConsumable_WhenCallCountStops_ShouldReturnValidResult()
        {
            //arrange
            StarShip model = new StarShip {
                Consumables = "4 weeks", Mglt = 100
            };
            //act
            var result = model.CountStops(10000000);

            //assert
            result.Should().BeGreaterThan(0);
            result.Should().Be(148);
        }
Example #23
0
        public async Task <StarShip> GetStarShipAsync()
        {
            StarShip retVal = null;

            HttpClient client           = new HttpClient();
            var        starshipResponse = await client.GetAsync("https://swapi.dev/api/starships/");

            if (starshipResponse.IsSuccessStatusCode)
            {
                retVal = JsonConvert.DeserializeObject <StarShip>(await starshipResponse.Content.ReadAsStringAsync());;
            }
            return(retVal);
        }
        // GET: StarShips/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StarShip starShip = db.StarShips.Find(id);

            if (starShip == null)
            {
                return(HttpNotFound());
            }
            return(View(starShip));
        }
        public void CalculateDistance()
        {
            StarShip starShip = new StarShip
            {
                Consumables = "2 months",
                MGLT        = "75",
                Name        = "X Winger"
            };


            starShip.CalculateDistance(1000000);

            Assert.AreEqual(9, starShip.PlanetStops);
        }
        public void CalculateWrongStopShouldFail()
        {
            StarShip starShip = new StarShip
            {
                Consumables = "2 months",
                MGLT        = "75",
                Name        = "Y Winger"
            };


            starShip.CalculateDistance(1000000);

            Assert.AreNotEqual(3, starShip.PlanetStops);
        }
        public async Task <ActionResult <StarShipDto> > GetStarShipsAsync()
        {
            try
            {
                var starshipsAlreadyUsedEntities = _unitOfWork.Starships.GetAll();

                if (starshipsAlreadyUsedEntities.Count() > MaxRangeReset)
                {
                    ResetGame(starshipsAlreadyUsedEntities);
                }

                var namesUsedBefore = starshipsAlreadyUsedEntities.Select(n => n.name).ToList();
                var starShipModel   = await _starShipService.GetRandomStarShipExcludingNamesUsedBefore(namesUsedBefore);

                if (starShipModel != null)
                {
                    var starShipEntity = new StarShip()
                    {
                        Id                     = Guid.NewGuid(),
                        name                   = starShipModel.name,
                        Starship_class         = starShipModel.Starship_class,
                        Max_atmosphering_speed = ConvertStringToNumber(starShipModel.Max_atmosphering_speed),
                        Cost_in_credits        = ConvertStringToNumber(starShipModel.Cost_in_credits),
                        Passengers             = ConvertStringToNumber(starShipModel.Passengers),
                        TotalFilms             = starShipModel.Films.Count
                    };

                    _unitOfWork.Starships.Add(starShipEntity);
                    _unitOfWork.Save();

                    var starShipDto = new StarShipDto()
                    {
                        name                   = starShipModel.name,
                        Starship_class         = starShipModel.Starship_class,
                        Max_atmosphering_speed = ConvertStringToNumber(starShipModel.Max_atmosphering_speed),
                        Cost_in_credits        = ConvertStringToNumber(starShipModel.Cost_in_credits),
                        Passengers             = ConvertStringToNumber(starShipModel.Passengers),
                        Films                  = starShipModel.Films
                    };

                    return(Ok(starShipDto));
                }

                return(NotFound());
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public void CalculateDistanceUnknownFail()
        {
            StarShip starShip = new StarShip
            {
                Consumables = "unknown",
                MGLT        = "unknown",
                Name        = "X Winger"
            };


            starShip.CalculateDistance(1000000);

            Assert.AreNotEqual(3, starShip.PlanetStops);
        }
Example #29
0
        public void ShowStarShip()
        {
            Console.Clear();
            Console.Write("What is the ID of the Star Ship you want to see? ");
            string id = Console.ReadLine();

            Console.WriteLine("Loading . . . ");
            StarShip starShip = _service.GetAsync <StarShip>($"https://swapi.dev/api/starships/{id}/").Result;

            Console.Clear();
            Console.WriteLine($"\n\nThe name of the Star Ship is {starShip.Name}." +
                              $" It cost {starShip.Cost_In_Credits} credits." +
                              $" It was manufactured by {starShip.Manufacturer}.");
            Console.WriteLine("Press any key to continue . . . ");
            Console.ReadKey();
        }
Example #30
0
        private static string ComputeStops(StarShip starShip, SpaceTrip spaceTrip)
        {
            if (!decimal.TryParse(starShip.Mglt, out decimal mglt))
            {
                return("Not available (MGLT = 'unknown')");
            }
            var consumables = starShip.Consumables.ToLower();

            if (consumables == "unknown")
            {
                return("Not available (consumables = 'unknown')");
            }

            var result = spaceTrip.GetResupplyStopsQuantity(mglt, consumables);

            return(FormatResult(result));
        }
Example #31
0
 public void IncorrectAddingProperty()
 {
     var ss = new StarShip().AsDynamic;
     ss.X = 100;
 }
Example #32
0
 public void PlaceinLocalSystem()
 {
     var ls = new LocalSystem();
     var ss = new StarShip();
     ls.Place(ss, new PointF(1, 2));
     var crd = ls.Resolve(ss);
     Assert.AreEqual(crd, new PointF(1, 2));
     ls.Remove(ss);
     Assert.IsFalse(ls.Contains(ss));
     ls.Place(ss, new PointF(6, 8));
     crd = ls.Resolve(ss);
     Assert.AreEqual(crd, new PointF(6, 8));
 }
Example #33
0
 public void ShiftInLocalSystem()
 {
     var ls = new LocalSystem();
     var ss = new StarShip();
     ls.Place(ss, new PointF(1, 2));
     ls.Shift(ss, new PointF(10, 100));
     var crd = ls.Resolve(ss);
     Assert.AreEqual(crd, new PointF(11, 102));
     ls.Shift(ss, new PointF(1, -10));
     crd = ls.Resolve(ss);
     Assert.AreEqual(crd, new PointF(12, 92));
 }
Example #34
0
 public void SetOwner()
 {
     var ss = new StarShip().AsDynamic;
     var mod = new Module { Owner = ss }.AsDynamic;
     Assert.AreEqual(mod.Owner, ss);
     mod.SetOwner((IGameObject)null);
     Assert.IsNull(mod.Owner);
     mod.SetOwner(ss);
     Assert.AreEqual(mod.Owner, ss);
 }
Example #35
0
 public void LocalSystemWipeoffWithNoOwnedObj()
 {
     var ls = new Bunch();
     var dls = ls.AsDynamic;
     var ss = new StarShip { IsActive = true };
     var check = 0;
     ls.Add(ss);
     ls.Commands[GameObject.Cmd.WipeOff].ExecuteHnd += (obj, mnemoCode, args) => check++;
     ss.Commands[GameObject.Cmd.WipeOff].ExecuteHnd += (obj, mnemoCode, args) => check += 2;
     dls.WipeOff();
     Assert.AreEqual(check, 1);
     Assert.IsTrue(ss.IsActive);
 }
Example #36
0
 public void GameObjectAddRemove()
 {
     var ls = new Bunch();
     var ss = new StarShip();
     ls.Execute(Bunch.Cmd.Add, ss);
     Assert.IsTrue(ls.Contains(ss));
     Assert.IsTrue(ss.Owner != ls);
     ls.Execute(Bunch.Cmd.Remove, ss);
     Assert.IsTrue(!ls.Contains(ss));
     Assert.IsTrue(ss.Owner != ls);
 }
Example #37
0
 public void AddingPropertyAndReadThis()
 {
     var ss = new StarShip().AsDynamic;
     using (InstanceController.BeginConstruct(ss))
     {
         ss.X = 150;
         ss.X = 100;
         ss.Y = 500;
         ss.Z = ss.X + ss.Y;
         Assert.IsTrue(ss.Z == 600);
         ss.FooBarX = "100";
         ss.FooBarY = "500";
         Assert.IsTrue(ss.FooBarX + ss.Y == "100500");
     }
 }
Example #38
0
        public void DistanceInLocalSystems()
        {
            var starSys = new LocalSystem { Level = 5, Resolution = 1000 };
            var groupA = new LocalSystem { Level = 8, Resolution = 10 };
            var groupB = new LocalSystem { Level = 8, Resolution = 10 };
            StarShip ssA = new StarShip(), ssB = new StarShip();

            starSys
                .PlaceAt(groupA, 0, 0)
                .PlaceAt(groupB, 3, 4);

            groupA.PlaceAt(ssA, 0, 0);
            groupB.PlaceAt(ssB, 0, 0);

            var m = new Mechanics();
            var d = m.DistanceFor(ssA, ssB);
            Assert.IsTrue(d == 5000);
        }