public void MoveTowardsNearestFood_Sticky() { var food = FoodTest.CreateFood("Apple").gameObject; var foodGetter = GetMockFoodGetter(new List <GameObject> { food }); var seeker = GetMockSeeker(); var foodChooser = GetMockFoodChooser(food); var controller = new FoodSeekerController(); controller.SetFoodGetter(foodGetter); controller.SetSeeker(seeker); controller.SetFoodChooser(foodChooser); controller.MoveTowardsNearestFood(); seeker.Received().MoveTowards(food); var newFood = FoodTest.CreateFood("Orange").gameObject; foodGetter.GetNearbyFood().Returns(new List <GameObject> { newFood }); seeker.ClearReceivedCalls(); controller.MoveTowardsNearestFood(); seeker.Received().MoveTowards(food); }
public void FavoriteFood() { var person = new GameObject().AddComponent <Personality> (); person.EatFood(FoodTest.CreateFood("Apple")); Assert.AreEqual("Apple", person.FavoriteFood()); }
public void ChooseFood_NoFood_ReturnsNull() { Personality foodChooser = new GameObject().AddComponent <Personality> (); var apple = FoodTest.CreateFood("Apple"); foodChooser.EatFood(apple); var foods = new List <GameObject> { }; Assert.Null(foodChooser.ChooseFood(foods)); }
public void SavePersonality() { Personality person = new GameObject().AddComponent <Personality> (); person.EatFood(FoodTest.CreateFood("Apple")); person.Save(); var newPerson = new GameObject().AddComponent <Personality>(); newPerson.Load(); Assert.AreEqual(person.foodEaten, newPerson.foodEaten); }
public void ChooseFood() { var person = new GameObject().AddComponent <Personality> (); var seeker = person.gameObject.AddComponent <FoodSeeker> (); person.EatFood(FoodTest.CreateFood("Apple")); var foods = new List <GameObject> { FoodTest.CreateFood("Apple").gameObject, FoodTest.CreateFood("Pear").gameObject }; var chosen = seeker.ChooseFood(foods); Assert.AreEqual("Apple", chosen.GetComponent <Food> ().type); }
public void ChooseFood_DefaultsToFirst() { Personality foodChooser = new GameObject().AddComponent <Personality> (); var apple = FoodTest.CreateFood("Apple"); var orange = FoodTest.CreateFood("Orange"); var pear = FoodTest.CreateFood("Pear"); var foods = new List <GameObject> { apple.gameObject, orange.gameObject }; foodChooser.EatFood(pear); Assert.AreEqual(apple.gameObject, foodChooser.ChooseFood(foods)); }
public void ChooseFood_ChoosesFood() { Personality foodChooser = new GameObject().AddComponent <Personality> (); var apple = FoodTest.CreateFood("Apple"); var orange = FoodTest.CreateFood("Orange"); var foods = new List <GameObject> { apple.gameObject, orange.gameObject }; foodChooser.EatFood(apple); foodChooser.EatFood(orange); Assert.Contains(foodChooser.ChooseFood(foods), foods); }
public IEnumerator CharacterMaker_MakesCharacters() { var maker = new GameObject().AddComponent <CharacterMaker> (); maker.interval = 0.5f; var person = new GameObject().AddComponent <Personality> (); person.EatFood(FoodTest.CreateFood("Apple")); person.Save(); yield return(new WaitForSeconds(0.6f)); var character = GameObject.FindGameObjectWithTag("Character"); Assert.IsNotNull(character); Assert.IsNotNull(character.GetComponent <Personality> ()); Assert.AreEqual("Apple", character.GetComponent <Personality> ().FavoriteFood()); }
public void MoveTowardsNearestFood() { var food = FoodTest.CreateFood("Apple").gameObject; var foodGetter = GetMockFoodGetter(new List <GameObject> { food }); var foodChooser = GetMockFoodChooser(food); var seeker = GetMockSeeker(); var controller = new FoodSeekerController(); controller.SetFoodGetter(foodGetter); controller.SetSeeker(seeker); controller.SetFoodChooser(foodChooser); controller.MoveTowardsNearestFood(); seeker.Received().MoveTowards(food); }
public void ChooseFood_ChoosesByWeight() { Personality foodChooser = new GameObject().AddComponent <Personality> (); var apple = FoodTest.CreateFood("Apple"); var orange = FoodTest.CreateFood("Orange"); var foods = new List <GameObject> { apple.gameObject, orange.gameObject }; foodChooser.EatFood(apple); foodChooser.EatFood(orange); foodChooser.EatFood(orange); foodChooser.SetRandom(new TestRandom(0)); Assert.AreEqual(apple.gameObject, foodChooser.ChooseFood(foods)); foodChooser.SetRandom(new TestRandom(3)); Assert.AreEqual(orange.gameObject, foodChooser.ChooseFood(foods)); }