void Start() { // Pet Manager m_PetsManager = GetComponent <PetsManager>(); // Player m_Player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player2D_Manager>().gameObject; m_PlayerStats = GameObject.FindGameObjectWithTag("Player").GetComponent <Player2D_StatsHolder>(); m_PetsManager.SetPlayer(m_Player); m_PetsManager.SetPlayerStats(m_PlayerStats); // Pet Variables from Pets Manager m_PetsManager.GetPetDestination().Set(0, 0, 0); m_PetsManager.SetPetDestination(m_PetsManager.GetPetDestination()); m_PetsManager.SetDistanceApart(0f); m_PetsManager.SetGuardRange(0f); m_PetsManager.SetFollowRange(0f); m_PetsManager.SetHealRange(0f); // StateMachine m_StateMachine = new StateMachine(); m_PetsManager.SetStateMachine(m_StateMachine); m_PetsManager.GetStateMachine().AddState(new StateDeerGuard("StateDeerGuard", gameObject)); m_PetsManager.GetStateMachine().AddState(new StateDeerFollow("StateDeerFollow", gameObject)); m_PetsManager.GetStateMachine().AddState(new StateDeerTeleport("StateDeerTeleport", gameObject)); m_PetsManager.GetStateMachine().AddState(new StateDeerHeal("StateDeerHeal", gameObject)); m_PetsManager.GetStateMachine().SetNextState("StateDeerGuard"); m_PetsManager.EXPReward = m_PetsManager.EXPRewardScaling * m_PetsManager.Level; m_PetsManager.Init(); }
public void Test_GetPetsByPersonGender() { var personAndPets = new Person[] { new Person { Name = "Bob", Gender = Entities.Gender.Male, Age = 23, Pets = new List <Pet> { new Pet { Name = "Garfield", Type = Entities.PetType.Cat }, new Pet { Name = "Fido", Type = Entities.PetType.Dog } } }, new Person { Name = "Jennifer", Gender = Entities.Gender.Female, Age = 18, Pets = new List <Pet> { new Pet { Name = "Garfield", Type = Entities.PetType.Cat } } }, new Person { Name = "Steve", Gender = Entities.Gender.Male, Age = 45, Pets = null }, new Person { Name = "Fred", Gender = Entities.Gender.Male, Age = 40, Pets = new List <Pet> { new Pet { Name = "Tom", Type = Entities.PetType.Cat }, new Pet { Name = "Max", Type = Entities.PetType.Cat }, new Pet { Name = "Sam", Type = Entities.PetType.Dog }, new Pet { Name = "Jim", Type = Entities.PetType.Cat } } }, new Person { Name = "Samantha", Gender = Entities.Gender.Female, Age = 40, Pets = new List <Pet> { new Pet { Name = "Tabby", Type = Entities.PetType.Cat } } }, new Person { Name = "Alice", Gender = Entities.Gender.Female, Age = 64, Pets = new List <Pet> { new Pet { Name = "Simba", Type = Entities.PetType.Cat }, new Pet { Name = "Nemo", Type = Entities.PetType.Fish } } }, }; //Use NSubstitue to mock the repository layer var petsRepository = Substitute.For <IPetsRepository>(); petsRepository.GetPersonAndPets().Returns(personAndPets); var mapperService = new MapperService(); //Create PetsManager instance IPetsManager petsManager = new PetsManager(petsRepository, mapperService); //Call method to be tested. This method contains the business logic. var catsByPersonGender = petsManager.GetPetsByPersonGender(Models.PetType.Cat).Result; //Check that there are 2 genders in the collection Assert.True(catsByPersonGender.PetsByPersonGender.Count == 2); //Check Cats belonging to Male persons - alphabetically ordered Assert.True(catsByPersonGender.PetsByPersonGender.First().Gender == Models.Gender.Male); Assert.True(catsByPersonGender.PetsByPersonGender.First().Pets.Count() == 4); Assert.True(catsByPersonGender.PetsByPersonGender.First().Pets.ElementAt(0).Name == "Garfield"); Assert.True(catsByPersonGender.PetsByPersonGender.First().Pets.ElementAt(1).Name == "Jim"); Assert.True(catsByPersonGender.PetsByPersonGender.First().Pets.ElementAt(2).Name == "Max"); Assert.True(catsByPersonGender.PetsByPersonGender.First().Pets.ElementAt(3).Name == "Tom"); //Check Cats belonging to Female persons - alphabetically ordered Assert.True(catsByPersonGender.PetsByPersonGender.Last().Gender == Models.Gender.Female); Assert.True(catsByPersonGender.PetsByPersonGender.Last().Pets.Count() == 3); Assert.True(catsByPersonGender.PetsByPersonGender.Last().Pets.ElementAt(0).Name == "Garfield"); Assert.True(catsByPersonGender.PetsByPersonGender.Last().Pets.ElementAt(1).Name == "Simba"); Assert.True(catsByPersonGender.PetsByPersonGender.Last().Pets.ElementAt(2).Name == "Tabby"); }
public StateDeerTeleport(string _stateID, GameObject _go) { m_StateID = _stateID; m_go = _go; m_PetsManager = _go.GetComponent <PetsManager>(); }
public void Test_GetPetsByPersonGender() { var personAndPets = new Person[] { new Person { name = "Bob", gender = Gender.Male, age = 23, pets = new List <Pet> { new Pet { name = "Garfield", type = PetType.Cat }, new Pet { name = "Fido", type = PetType.Dog } } }, new Person { name = "Jennifer", gender = Gender.Female, age = 18, pets = new List <Pet> { new Pet { name = "Garfield", type = PetType.Cat } } }, new Person { name = "Steve", gender = Gender.Male, age = 45, pets = null }, new Person { name = "Fred", gender = Gender.Male, age = 40, pets = new List <Pet> { new Pet { name = "Tom", type = PetType.Cat }, new Pet { name = "Max", type = PetType.Cat }, new Pet { name = "Sam", type = PetType.Dog }, new Pet { name = "Jim", type = PetType.Cat } } }, new Person { name = "Samantha", gender = Gender.Female, age = 40, pets = new List <Pet> { new Pet { name = "Tabby", type = PetType.Cat } } }, new Person { name = "Alice", gender = Gender.Female, age = 64, pets = new List <Pet> { new Pet { name = "Simba", type = PetType.Cat }, new Pet { name = "Nemo", type = PetType.Fish } } }, }; //Use NSubstitue to mock the repository layer var petsRepository = Substitute.For <IPetsRepository>(); petsRepository.GetPersonAndPets().Returns(personAndPets); //Create PetsManager instance IPetsManager petsManager = new PetsManager(petsRepository); //Call method to be tested. This method contains the business logic. var catsByPersonGender = petsManager.GetPetsByPersonGender(PetType.Cat).Result; //Check that there are 2 genders in the collection Assert.IsTrue(catsByPersonGender.PetsByPersonGender.Count == 2); //Check Cats belonging to Male persons Assert.IsTrue(catsByPersonGender.PetsByPersonGender.First().Gender == Gender.Male); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.First().Pets.Count() == 4); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.First().Pets.Count(p => p.name == "Garfield") == 1); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.First().Pets.Count(p => p.name == "Tom") == 1); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.First().Pets.Count(p => p.name == "Max") == 1); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.First().Pets.Count(p => p.name == "Jim") == 1); //Check Cats belonging to Female persons Assert.IsTrue(catsByPersonGender.PetsByPersonGender.Last().Gender == Gender.Female); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.Last().Pets.Count() == 3); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.Last().Pets.Count(p => p.name == "Garfield") == 1); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.Last().Pets.Count(p => p.name == "Simba") == 1); Assert.IsTrue(catsByPersonGender.PetsByPersonGender.Last().Pets.Count(p => p.name == "Tabby") == 1); }