public PlanetService CreatePlanetService()
        {
            var userId  = Guid.Parse(User.Identity.GetUserId());
            var service = new PlanetService(userId);

            return(service);
        }
示例#2
0
        public void Planets_WithExistingDiscoveryId_ShouldReturnAllPlanets()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            const int discoveryId = 1;

            this.SeedDiscovery(db, false, true);

            List <Planet> fakePlanets = this.GetFakePlanets();

            int i = -1;

            // Act
            IEnumerable <ListPlanetsServiceModel> planets = planetService.Planets(discoveryId);

            // Assert
            foreach (var actual in planets)
            {
                Planet expected = fakePlanets[++i];

                this.ComparePlanets(expected, actual);
            }
        }
        // GET: Planet
        public ActionResult Index()
        {
            var userId  = Guid.Parse(User.Identity.GetUserId());
            var service = new PlanetService(userId);
            var model   = service.GetPlanets();

            return(View(model));
        }
示例#4
0
        public void BuildMineralsFactory()
        {
            int planetId = PlanetService.GetPlanetIdByLocation(data, selectedCell);

            PlanetService.BuildFactory(data, FactoryType.MineralsFactory, playerId, selectedCell);

            GetBuildings();
        }
示例#5
0
        public void TopPlanetTest()
        {
            //arrange
            var context       = SetUpApplicationContext();
            var planetService = new PlanetService(context);
            //act

            var result = planetService.TopPlanets();

            //assert
            Assert.Equal(1, result.Count);
        }
示例#6
0
        public void IncreasePopulationTest()
        {
            //arrange
            var  context       = SetUpApplicationContext();
            var  planetService = new PlanetService(context);
            long id            = 1;

            //act

            planetService.IncreasePopulation(id);
            //assert
            Assert.Equal(16, context.planets.Find(id).Population);
        }
示例#7
0
        public void Create_WithNotExistingDicovery_ShouldReturnFalse()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            Planet planet = this.GetFakePlanets().First();

            // Act
            bool result = planetService.Create(1, planet.Name, planet.Mass);

            // Assert
            Assert.False(result);
        }
示例#8
0
        public void Exists_WithNotExistingName_ShouldReturnFalse()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            string name = this.GetFakePlanets().First().Name;

            // Act
            bool result = planetService.Exists(name);

            // Assert
            Assert.False(result);
        }
示例#9
0
        public async Task IsValidTile_ReturnsFalse_OutsideOfBonds()
        {
            //Arrange
            var planetSurfaceServiceMock = new Mock <PlanetSurfaceService>();

            planetSurfaceServiceMock.Setup(service => service.GetPlanetLayout()).Returns(() => new int[1, 1] {
                { 0 }
            });
            var planetService = new PlanetService(planetSurfaceServiceMock.Object);

            //Act
            //Assert
            Assert.False(await planetService.IsValidTile(1, 1));
        }
示例#10
0
        public void GetForm_WithNotExistingId_ShouldReturnNull()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            // Act
            PlanetFormServiceModel actual = planetService.GetForm(11);

            // Assert
            Assert.Null(actual);
        }
示例#11
0
        public void Planets_WithNotExistingDiscoveryId_ShouldReturnEmptyCollection()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDiscovery(db, false, true);

            // Act
            IEnumerable <ListPlanetsServiceModel> planets = planetService.Planets(2);

            // Assert
            Assert.False(planets.Any());
        }
示例#12
0
        public void Edit_WithNotExistingId_ShouldReturnFalse()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            // Act
            bool result = planetService.Edit(11, "Not Existing 1", 20.5);

            // Assert
            Assert.False(result);
        }
示例#13
0
        public async Task IsValidTile_ReturnsTrue_LandingOnValidTile()
        {
            //Arrange
            var planetSurfaceServiceMock = new Mock <PlanetSurfaceService>();

            planetSurfaceServiceMock.Setup(service => service.GetPlanetLayout()).Returns(() => new int[1, 1] {
                { 0 }
            });
            var planetService = new PlanetService(planetSurfaceServiceMock.Object);

            //Act
            //Assert
            Assert.True(await planetService.IsValidTile(0, 0));
        }
示例#14
0
        public void Delete_WithExistingId_ShouldReturnTrue()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            // Act
            bool result = planetService.Delete(1);

            // Assert
            Assert.True(result);
        }
示例#15
0
        public void GetName_WithExistingId_ShouldReturnValidName()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            // Act
            Planet planet = this.GetFakePlanets().First();
            string actual = planetService.GetName(planet.Id);

            // Assert
            Assert.Equal(planet.Name, actual);
        }
示例#16
0
        public void GetForm_WithExistingId_ShouldReturnCorrectResult()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);
            Planet expected = this.GetFakePlanets().First();

            // Act
            PlanetFormServiceModel actual = planetService.GetForm(expected.Id);

            // Assert
            this.ComparePlanets(expected, actual);
        }
示例#17
0
        public void Edit_WithNotExistingName_ShouldReturnTrue()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            Planet planet = this.GetFakePlanets().First();

            // Act
            bool result = planetService.Edit(planet.Id, planet.Name, planet.Mass);

            // Assert
            Assert.True(result);
        }
示例#18
0
        public void Delete_WithNotExistingId_ShouldNotRemovePlanet()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            int planetsCount = this.GetFakePlanets().Count;

            this.SeedDatabase(db);

            // Act
            planetService.Delete(11);

            // Assert
            Assert.Equal(planetsCount, db.Planets.Count());
        }
示例#19
0
        public void Delete_WithNotExistingId_ShouldReturnFalse()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            int planetsCount = this.GetFakePlanets().Count;

            this.SeedDatabase(db);

            // Act
            bool result = planetService.Delete(planetsCount + 1);

            // Assert
            Assert.False(result);
        }
示例#20
0
        public void Edit_WithDifferentExistingName_ShouldReturnFalse()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            Planet planet = this.GetFakePlanets().FirstOrDefault(p => p.Id == 2);

            // Act
            bool result = planetService.Edit(1, planet.Name, planet.Mass);

            // Assert
            Assert.False(result);
        }
示例#21
0
        public void Create_WithNotExistingName_ShouldReturnTrue()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            const int discoveryId = 1;

            this.SeedDiscovery(db, true);

            Planet expected = this.GetFakePlanets().First();

            // Act
            bool result = planetService.Create(discoveryId, expected.Name, expected.Mass);

            // Assert
            Assert.True(result);
        }
示例#22
0
        public void Delete_WithExistingId_ShouldRemovePlanet()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);
            int       planetsCount           = this.GetFakePlanets().Count;
            const int planetId = 1;

            this.SeedDatabase(db);

            // Act
            planetService.Delete(planetId);
            Planet planet = db.Planets.Find(planetId);

            // Assert
            Assert.Null(planet);
            Assert.Equal(planetsCount - 1, db.Planets.Count());
        }
示例#23
0
        public void Edit_WithSameName_ShouldEditPlanet()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);

            Planet expected = this.GetFakePlanets().First();

            expected.Mass = 3.14;

            // Act
            planetService.Edit(expected.Id, expected.Name, expected.Mass);
            Planet actual = db.Planets.Find(expected.Id);

            // Assert
            this.ComparePlanets(expected, actual);
        }
示例#24
0
        public void Create_WithNotExistingName_ShouldAddPlanet()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            const int discoveryId = 1;

            this.SeedDiscovery(db, true);

            Planet expected = this.GetFakePlanets().First();

            // Act
            planetService.Create(discoveryId, expected.Name, expected.Mass);
            Planet actual = db.Planets.First();

            // Assert
            Assert.Equal(1, db.Planets.Count());
            this.ComparePlanets(expected, actual);
        }
示例#25
0
        public void TestInitialize()
        {
            var unitOfWorkMoq = new Mock <IUnitOfWork>();
            var planetQuery   = new Mock <IQueries <Planet> >();

            _planets = new List <Planet>
            {
                new Planet {
                    Name = "Mercury", PlanetId = Guid.NewGuid(), Distance = 57910000
                },
                new Planet {
                    Name = "Venus", PlanetId = Guid.NewGuid(), Distance = 108200000
                },
                new Planet {
                    Name = "Earth", PlanetId = Guid.NewGuid(), Distance = 149600000
                },
                new Planet {
                    Name = "Mars", PlanetId = Guid.NewGuid(), Distance = 227940000
                },
                new Planet {
                    Name = "Jupiter", PlanetId = Guid.NewGuid(), Distance = 778330000
                },
                new Planet {
                    Name = "Saturn", PlanetId = Guid.NewGuid(), Distance = 1424600000
                },
                new Planet {
                    Name = "Uranus", PlanetId = Guid.NewGuid(), Distance = 2873550000
                },
                new Planet {
                    Name = "Neptune", PlanetId = Guid.NewGuid(), Distance = 4501000000
                },
                new Planet {
                    Name = "Pluto", PlanetId = Guid.NewGuid(), Distance = 5945900000
                }
            };

            unitOfWorkMoq.SetupGet(uf => uf.PlanetQueries).Returns(planetQuery.Object);
            planetQuery.Setup(pq => pq.GetAll()).Returns(_planets.AsQueryable());

            _planetService = new PlanetService(unitOfWorkMoq.Object);
        }
示例#26
0
        public async Task MoveSequence_MovesBackward_MoveSequenceS()
        {
            //Arrange
            var fileReaderServiceMock = new Mock <PlanetSurfaceService>();

            fileReaderServiceMock.Setup(service => service.GetPlanetLayout()).Returns(() => new int[2, 2] {
                { 0, 0 }, { 0, 0 }
            });
            var planetService = new PlanetService(fileReaderServiceMock.Object);

            var roverService = new RoverService(_loggerMock, planetService);

            await roverService.Land(0, 1);

            //Act

            await roverService.MoveSequence("B");

            //Assert

            Assert.True(roverService.Position.Item1 == 0 && roverService.Position.Item2 == 0);
        }
示例#27
0
        public async Task MoveSequence_HitsObsacle_MoveSuccessUntilHit()
        {
            //Arrange
            var fileReaderServiceMock = new Mock <PlanetSurfaceService>();

            fileReaderServiceMock.Setup(service => service.GetPlanetLayout()).Returns(() => new int[3, 3] {
                { 0, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 }
            });
            var planetService = new PlanetService(fileReaderServiceMock.Object);

            var roverService = new RoverService(_loggerMock, planetService);

            await roverService.Land(0, 0);

            //Act

            await roverService.MoveSequence("FLFF");

            //Assert

            Assert.True(roverService.Position.Item1 == 0 && roverService.Position.Item2 == 1);
        }
示例#28
0
        public async Task MoveSequence_FacesWest_MoveSequenceL()
        {
            //Arrange
            var fileReaderServiceMock = new Mock <PlanetSurfaceService>();

            fileReaderServiceMock.Setup(service => service.GetPlanetLayout()).Returns(() => new int[2, 2] {
                { 0, 0 }, { 0, 0 }
            });
            var planetService = new PlanetService(fileReaderServiceMock.Object);

            var roverService = new RoverService(_loggerMock, planetService);

            await roverService.Land(0, 0);

            //Act

            await roverService.MoveSequence("L");

            //Assert

            Assert.True(roverService.Compass == Models.Compass.E);
        }
示例#29
0
        public PlanetTest()
        {
            _planetContext = new PlanetContext();
            var unitOfWork = new UnitOfWork(_planetContext);

            _planetService     = new PlanetService(unitOfWork);
            _planetsController = new PlanetsController(_planetService);
            _planets           = new List <Planet>
            {
                new Planet {
                    Name = "Mercury", Distance = 57910000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Venus", Distance = 108200000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Earth", Distance = 149600000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Mars", Distance = 227940000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Jupiter", Distance = 778330000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Saturn", Distance = 1424600000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Uranus", Distance = 2873550000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Neptune", Distance = 4501000000, PlanetId = Guid.Empty
                },
                new Planet {
                    Name = "Pluto", Distance = 5945900000, PlanetId = Guid.Empty
                }
            };
        }
示例#30
0
        public void Edit_WithNotExistingName_ShouldEditPlanet()
        {
            // Arrange
            StarStuffDbContext db            = this.Database;
            PlanetService      planetService = new PlanetService(db);

            this.SeedDatabase(db);
            const int planetId = 1;

            Planet expected = new Planet
            {
                Id   = planetId,
                Name = "Not Existing 1",
                Mass = 20.5
            };

            // Act
            bool   result = planetService.Edit(planetId, expected.Name, expected.Mass);
            Planet actual = db.Planets.Find(planetId);

            // Assert
            this.ComparePlanets(expected, actual);
        }