public void Setup()
        {
            pokeApiServiceMock            = new Mock <IPokeApiService>();
            funTranslationsApiServiceMock = new Mock <IFunTranslationsApiService>();

            pokemonController = new PokemonController(pokeApiServiceMock.Object, funTranslationsApiServiceMock.Object);
        }
Ejemplo n.º 2
0
        public async Task AddPreEvolution_Should_Return_200_Status_Code_With_Valid_ViewModel()
        {
            // Arrange
            var rnd = new Random();
            var id  = rnd.Next(1, 151);

            var data = new EvolutionViewModel()
            {
                pokemonId          = id,
                pokemonEvolutionId = id + 1
            };

            var result = BogusViewModel.PokemonViewModelFaker();

            result.Abilities = null;
            result.Stats     = null;

            pokemonServices.Setup(x => x.AddPokemonPreEvolution(data)).ReturnsAsync(
                result
                );

            var pokemonController = new PokemonController(pokemonServices.Object);

            // Act
            var response = await pokemonController.AddPreEvolution(data);

            // Assert
            Assert.NotNull(response);
            Assert.IsType <OkObjectResult>(response.Result);
        }
        public async Task Get_ListPokemon_ReturnList()
        {
            var pokemonRepositoryMock = new Mock <IPokemonRepository>();
            var pokemonList           = new List <Pokemon> {
                new Pokemon {
                    Id       = 1,
                    Name     = "Bulbasaur",
                    TypeOne  = "Grass",
                    TypeTwo  = "Poison",
                    UrlImage = "http://bulbasaur.png"
                },
                new Pokemon {
                    Id       = 2,
                    Name     = "Venusaur",
                    TypeOne  = "Grass",
                    TypeTwo  = "Poison",
                    UrlImage = "http://venusaur.png"
                }
            };


            pokemonRepositoryMock.Setup(x => x.GetPokemonListAsync()).Returns(Task.FromResult(pokemonList));

            var pokemonController = new PokemonController(pokemonRepositoryMock.Object);
            var response          = await pokemonController.Get();

            Assert.IsType <OkObjectResult>(response.Result);
        }
Ejemplo n.º 4
0
        private void Respawn(NetworkViewID viewID)
        {
            GameObject    obj       = PlayerRegistrar.Instance.List[viewID].GameObject;
            GameObject    container = obj.transform.parent.gameObject;
            EntityManager em        = obj.GetComponent <EntityManager>();

            if (container == SceneHelper.GetContainer(Container.Pokemons))
            {
                // Once the entity is ready, we make it appear.
                obj.SetActive(true);

                PokemonController controller = obj.GetComponent <PokemonController>();

                if (em == null)
                {
                    Destroy(SceneHelper.GetContainer(Container.Wild));
                }

                // Visual setters
                obj.transform.position = em.team % 2 == 0 ? GameInfo.redTeamSpawn : GameInfo.blueTeamSpawn;
                obj.transform.rotation = Quaternion.identity;
                controller.nav.ResetPath();
                controller.ResetMovingRestrictions();

                // Logical setters
                controller.selectedMove = null;
                em.Respawn();
            }
            else if (container == SceneHelper.GetContainer(Container.Wild))
            {
                obj.SetActive(true);
                em.currentHP = em.maxHP;
            }
        }
        public PokemonControllerTests()
        {
            _mockPokemonDescriptionService = new Mock <IPokemonDescriptionService>();
            var mockLogger = new Mock <ILogger <PokemonController> >();

            _pokemonController = new PokemonController(mockLogger.Object, _mockPokemonDescriptionService.Object);
        }
Ejemplo n.º 6
0
    public void spawnPokemon(GameObject pokemon, TileController tile)
    {
        if (currentPokemon != null)
        {
            despawnPokemon();
        }

        Vector3 position = tile.transform.position;

        position.y += 0.5f;

        currentPokemon = ((GameObject)Instantiate(pokemon, position, Quaternion.identity)).GetComponent <PokemonController>();

        currentPokemon.gameController = gameController;
        currentPokemon.owner          = this;
        tile.pokemon = currentPokemon;
        if (currentPokemon.name == "charmander")
        {
            currentPokemon.attack1 = new Attack("Ember", -20, 2, 2, 2);
        }
        else if (currentPokemon.name == "bulbasaur")
        {
            currentPokemon.attack1 = new Attack("Vine Whip", -30, 1, 1, 2);
        }
    }
Ejemplo n.º 7
0
    public void despawnPokemon()
    {
        Destroy(currentPokemon.gameObject);
        currentPokemon = null;

        gameController.nextTurn();
    }
Ejemplo n.º 8
0
 public BattleModule(IServiceProvider provider, UserController userController, PokemonController pokemonController, PokeBattleHandlingService pokeBattleHandlingService)
 {
     _provider          = provider;
     _userController    = userController;
     _pokemonController = pokemonController;
     _gameHandler       = pokeBattleHandlingService._handler;
 }
Ejemplo n.º 9
0
 public PokeModule(IServiceProvider provider, DiscordSocketClient discord, UserController userController, PokemonController pokemonController)
 {
     _discord           = discord;
     _userController    = userController;
     _pokemonController = pokemonController;
     _provider          = provider;
 }
Ejemplo n.º 10
0
        public void Get_Single_Id_Valid()
        {
            int id = 1;

            var pokemon = new Pokemon
            {
                Id    = 1,
                Name  = "Bulbasaur",
                Types = new List <PokemonType> {
                    PokemonType.Grass,
                    PokemonType.Poison,
                },
                Weaknesses = new List <PokemonType> {
                    PokemonType.Fire,
                    PokemonType.Psychic,
                    PokemonType.Flying,
                    PokemonType.Ice,
                },
                Description = "There is a plant seed on its back right from the day this Pokémon is born. The seed slowly grows larger.",
            };

            var logic = new Mock <IPokemonLogic>(MockBehavior.Strict);

            logic.Setup(x => x.Get(id))
            .Returns(pokemon);

            var controller = new PokemonController(logic.Object);
            var result     = controller.Get(id);

            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            logic.VerifyAll();
        }
        public void Get_PlaceholderImplementation_ReturnsMessage() // this is an interim test to get have a test project & test in place with the initial check-in
        {
            var controller = new PokemonController();
            var result     = controller.Get();

            Assert.Equal("Success", result.Content);
        }
        public void Test_GetAllPokemon()
        {
            var sut    = new PokemonController();
            var actual = sut.Get();

            Assert.True(actual.Count() > 0);
        }
Ejemplo n.º 13
0
        public async Task ShouldReturnPokemonTranslatedDescription()
        {
            var baseUriPoke         = new Uri("https://pokeapi.co/api/v2/pokemon-species/");
            var baseUriTranslation  = new Uri("https://api.funtranslations.com/translate/shakespeare.json/");
            var pokemonName         = "ditto";
            var expectedDescription = "'t can freely recombine its own cellular structure to transform into other life-forms.";
            var log             = new Mock <ILogger <string> >();
            var jsonPoke        = ReadEmbeddedResource($"{pokemonName}-pokemon-species.json");
            var jsonTranslation = ReadEmbeddedResource($"{pokemonName}-translation.json");
            var mockHttp        = new MockHttpMessageHandler();

            mockHttp.When($"{baseUriPoke}{pokemonName}/").Respond("application/json", jsonPoke);
            mockHttp.When($"{baseUriTranslation}*").Respond("application/json", jsonTranslation);
            var pokeAPIClient    = new PokeAPIClient(mockHttp.ToHttpClient());
            var translatorClient = new TranslatorClient(mockHttp.ToHttpClient());
            var pokemonRetriever = new PokemonRetriever(pokeAPIClient, translatorClient);
            var controller       = new PokemonController(pokemonRetriever, log.Object);

            var response = await controller.GetAsync(pokemonName);

            var result        = (ObjectResult)response.Result;
            var pokemonResult = (Pokemon)result.Value;

            Assert.Equal(pokemonName, pokemonResult.Name);
            Assert.Equal(expectedDescription, pokemonResult.Description);
        }
Ejemplo n.º 14
0
        public async Task When_provider_call_is_successful_Should_return_correct_result()
        {
            // arrange
            var request = new GetShakespearianDescriptionRequest
            {
                Name    = "Pikachu",
                Version = GameVersion.Any
            };
            var pokemonDescriptionProviderMock = new Mock <IPokemonDescriptionProvider>();

            pokemonDescriptionProviderMock
            .Setup(x => x.GetShakesperianDescription(request.Name, request.Version))
            .ReturnsAsync("description");
            var controller = new PokemonController(pokemonDescriptionProviderMock.Object);

            // act
            var result = await controller.GetShakespearianDescription(request);

            // assert
            var okObjectResult = result.Should().BeOfType <OkObjectResult>().Subject;
            var getShakespearianDescriptionResponse = okObjectResult.Value.Should().BeOfType <GetShakespearianDescriptionResponse>().Subject;

            getShakespearianDescriptionResponse.Name.Should().Be(request.Name);
            getShakespearianDescriptionResponse.Description.Should().Be("description");
        }
Ejemplo n.º 15
0
        public void Test_GetPokemon(int id)
        {
            var sut    = new PokemonController(new PokemonDbContext());
            var actual = sut.Get(id);

            Assert.False(string.IsNullOrWhiteSpace(actual.Name));
        }
Ejemplo n.º 16
0
        public void Can_Display_Pokemon()
        {
            // Arrange
            Mock <IPokemonRepository> mock = new Mock <IPokemonRepository>();

            mock.Setup(m => m.Pokemons).Returns((new Pokemon[] {
                new Pokemon {
                    PokemonID = 1, Name = "TestPokemon1", Type1 = new Type(1, "TypeTest1"), Type2 = null,
                    ExperienceGrowth = 10000, EggSteps = 1000, Attack = 100, Defense = 100, SpAttack = 100, SpDefense = 100, Speed = 100,
                    IsLegendary = false, Generation = 1, HP = 100
                },
                new Pokemon {
                    PokemonID = 2, Name = "TestPokemon2", Type1 = new Type(2, "TypeTest2"), Type2 = null,
                    ExperienceGrowth = 20000, EggSteps = 2000, Attack = 200, Defense = 200, SpAttack = 200, SpDefense = 200, Speed = 200,
                    IsLegendary = false, Generation = 2, HP = 200
                }
            }).AsQueryable <Pokemon>());

            // Arrange
            PokemonController controller =
                new PokemonController(mock.Object)
            {
            };

            // Act
            PokemonDetailViewModel result = controller.Pkm(2).ViewData.Model as PokemonDetailViewModel;

            // Assert
            Assert.Equal(2, result.Pokemon.PokemonID);
            Assert.Equal("TestPokemon2", result.Pokemon.Name);
        }
        public void GetRandomPokemonReturnsPokemon()
        {
            var controller = new PokemonController();
            var result     = controller.GetRandomPokemon();

            Assert.NotNull(result);
        }
Ejemplo n.º 18
0
    IEnumerator MoveFromTo(PokemonController objectToMove, Vector3 startPosition, TileController endTile, float speed)
    {
        Vector3 endPosition = endTile.transform.position;

        endPosition.y += 0.5f;

        float step = (speed / (startPosition - endPosition).magnitude) * Time.fixedDeltaTime;
        float t    = 0;

        while (t <= 1.0f)
        {
            t += step;                                                                     // Goes from 0 to 1, incrementing by step each time
            objectToMove.transform.position = Vector3.Lerp(startPosition, endPosition, t); // Move objectToMove closer to b

            yield return(new WaitForFixedUpdate());                                        // Leave the routine and return here in the next frame
        }

        objectToMove.transform.position = endPosition;

        endTile.pokemon = objectToMove;

        isMoving = false;
        interfaceController.nextTurnBtn.GetComponentInChildren <Text>().text = "NEXT TURN";

        /*PokemonController neighbour = getNeighbouringUnit(endTile);
         *
         * if(neighbour != null)
         * {
         *  neighbour.changeCurrentPokemonHP(0 - neighbour.hp);
         * }*/
    }
Ejemplo n.º 19
0
        private void SynchroniseEntitiesPosition()
        {
            if (Network.isServer)
            {
                if (nextPositionUpdate <= 0f)
                {
                    nextPositionUpdate += positionUpdateFrequency;

                    Component[] componentList = pkmn.GetComponentsInChildren(typeof(PokemonController));
                    foreach (Component comp in componentList)
                    {
                        PokemonController cont = (PokemonController)comp;
                        if (cont.transform.parent.gameObject != pkmn)
                        {
                            continue;
                        }

                        cont.GetComponent <NetworkView>().RPC("WarpEntity", RPCMode.OthersBuffered, cont.GetComponent <NetworkView>().viewID, cont.transform.position, cont.nav.speed, cont.transform.rotation, cont.nav.destination);
                    }
                }
                else
                {
                    nextPositionUpdate -= Time.deltaTime;
                }
            }
        }
Ejemplo n.º 20
0
 public void Setup()
 {
     translateAPIService = new TranslateAPIService();
     pokemonAPIService   = new PokemonAPIService();
     pokemonService      = new PokemonService(translateAPIService, pokemonAPIService, Mapper);
     pokemonController   = new PokemonController(pokemonService);
 }
Ejemplo n.º 21
0
        public void GetAvailableTargets()
        {
            Transform[] transformList = SceneHelper.GetContainer(Container.Pokemons).GetComponentsInChildren <Transform>();
            this.availableTarget.Clear();

            foreach (Transform tr in transformList)
            {
                if (tr.parent != SceneHelper.GetContainer(Container.Pokemons).transform)
                {
                    continue;
                }

                PokemonController controller = (PokemonController)tr.gameObject.GetComponent(typeof(PokemonController));
                if (controller == null)
                {
                    continue;
                }

                float distance = Vector3.Distance(this.position, tr.position);
                if (distance - controller.nav.radius < this.range)
                {
                    this.availableTarget.Add(controller);
                }
            }
        }
Ejemplo n.º 22
0
        public void Get_List_Ids_Valid()
        {
            var ids = new List <int>
            {
                1,
                2,
            };

            var pokemon1 = new Pokemon
            {
                Id    = 1,
                Name  = "Bulbasaur",
                Types = new List <PokemonType> {
                    PokemonType.Grass,
                    PokemonType.Poison,
                },
                Weaknesses = new List <PokemonType> {
                    PokemonType.Fire,
                    PokemonType.Psychic,
                    PokemonType.Flying,
                    PokemonType.Ice,
                },
                Description = "There is a plant seed on its back right from the day this Pokémon is born. The seed slowly grows larger.",
            };

            var pokemon2 = new Pokemon
            {
                Id    = 2,
                Name  = "Ivysaur",
                Types = new List <PokemonType> {
                    PokemonType.Grass,
                    PokemonType.Poison,
                },
                Weaknesses = new List <PokemonType> {
                    PokemonType.Fire,
                    PokemonType.Psychic,
                    PokemonType.Flying,
                    PokemonType.Ice,
                },
                Description = "When the bulb on its back grows large, it appears to lose the ability to stand on its hind legs.",
            };

            var pokemonList = new List <Pokemon>
            {
                pokemon1,
                pokemon2,
            };

            var logic = new Mock <IPokemonLogic>(MockBehavior.Strict);

            logic.Setup(x => x.Get(ids))
            .Returns(pokemonList);

            var controller = new PokemonController(logic.Object);
            var result     = controller.Get(ids);

            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            logic.VerifyAll();
        }
Ejemplo n.º 23
0
        public void Test_GetAllPokemon()
        {
            //httpclient - use this to make a call to our service
            var sut    = new PokemonController(new PokemonDbContext());
            var actual = sut.Get();       //actual is an IActionResult

            Assert.True(actual.> 0);      //we want a list
        }
Ejemplo n.º 24
0
 public void unselectSelection()
 {
     selectedSpawn  = null;
     selectedTile   = null;
     selectedUnit   = null;
     selectedAttack = null;
     selectedTarget = null;
 }
        public PokemonControllerTests()
        {
            pokemonRepository    = new PokemonRepository(new HttpClient());
            translatorRepository = new TranslatorRepository(new HttpClient());
            _pokemonService      = new PokemonService(pokemonRepository, translatorRepository);

            _pokemonController = new PokemonController(_pokemonService);
        }
        public async Task Get_InvalidPokemonName_ShouldReturnBadRequest(string pokemonName)
        {
            var pokemonService = new Mock <IPokemonTranslationService>();
            var controller     = new PokemonController(NullLogger <PokemonController> .Instance, pokemonService.Object);

            var actionResult = await controller.Get(pokemonName);

            actionResult.Result.Should().BeOfType <BadRequestObjectResult>();
        }
Ejemplo n.º 27
0
        public async void Get_WhenServicesReturn200_ReturnsOkResult()
        {
            var logger     = Mock.Of <ILogger <PokemonController> >();
            var controller = new PokemonController(logger, new Mock200PokemonService(), new Mock200ShakespeareTranslationService());

            var result = await controller.Get("dummy");

            Assert.IsType <OkObjectResult>(result.Result);
        }
Ejemplo n.º 28
0
        public void Setup()
        {
            var mockPokemonService = new Mock <IPokemonService>();
            var mockShakespeareTranslationService = new Mock <IShakespeareTranslationService>();

            mockPokemonService.Setup(x => x.GetPokemon(Constants.ValidPokemon)).ReturnsAsync(new PokemonInfo());
            mockPokemonService.Setup(x => x.GetPokemon(Constants.InvalidPokemon)).ReturnsAsync(default(PokemonInfo));
            _pokemonController = new PokemonController(mockPokemonService.Object, mockShakespeareTranslationService.Object, NullLogger <PokemonController> .Instance);
        }
Ejemplo n.º 29
0
        public PokemonControllerTests()
        {
            var services = new ServiceCollection();

            new Startup(Configuration).ConfigureServices(services);
            var serviceProvider = services.BuildServiceProvider();

            _sut = new PokemonController(serviceProvider.GetService <IPokeSpearService>());
        }
Ejemplo n.º 30
0
        public PokemonHandlingService(DiscordSocketClient discord, IServiceProvider provider, PokemonController pokeController, UserController userController, IConfiguration config)
        {
            _discord        = discord;
            _provider       = provider;
            _pokeController = pokeController;
            _userController = userController;
            _channelId      = config.GetValue <ulong>("AppSettings:ChannelId");

            _discord.Ready += SendPokemonAppearance;
        }