public void it_should_set_up_dislikes_and_likes_for_characters() { RandomNumberGenerator randomNumberGenerator = new SystemRandomNumberGenerator(); TagFactory tagFactory = new TagFactory(randomNumberGenerator); ItemFactory itemFactory = new ItemFactory(tagFactory); CharacterNameGenerator characterNameGenerator = new CharacterNameGenerator(randomNumberGenerator); CharacterSafeCodeGenerator characterSafeCodeGenerator = new CharacterSafeCodeGenerator(randomNumberGenerator); for (int i = 1; i < 51; i++) { itemFactory.CreateItem("item" + i, "", "", "", new List <String> { "item" + i + "tag1", "commonTag1", "commonTag2" }); } CharacterFactory characterFactory = new CharacterFactory(randomNumberGenerator, itemFactory, tagFactory, characterNameGenerator, characterSafeCodeGenerator); List <Character> characters = characterFactory.GenerateCharactersForGame(5); Assert.AreEqual(5, characters.Count); Assert.AreEqual(5, characters[0].LikeTags.Count); Console.WriteLine("Characters:\n"); foreach (Character character in characters) { Console.WriteLine(character); } }
public void it_should_be_able_to_generate_a_room_of_items() { for (int k = 0; k < 1000; k++) { RandomNumberGenerator randomNumberGenerator = new SystemRandomNumberGenerator(); TagFactory tagFactory = new TagFactory(randomNumberGenerator); ItemFactory itemFactory = new ItemFactory(tagFactory); CharacterNameGenerator characterNameGenerator = new CharacterNameGenerator(randomNumberGenerator); CharacterSafeCodeGenerator characterSafeCodeGenerator = new CharacterSafeCodeGenerator(randomNumberGenerator); for (int i = 1; i < 51; i++) { itemFactory.CreateItem("item" + i, "", "", "", new List <String> { "item" + i + "tag1", "common" }); } CharacterFactory characterFactory = new CharacterFactory( randomNumberGenerator, itemFactory, tagFactory, characterNameGenerator, characterSafeCodeGenerator ); List <Character> characters = characterFactory.GenerateCharactersForGame(5); RoomFactory roomFactory = new RoomFactory( characterFactory, itemFactory, randomNumberGenerator ); Room room = roomFactory.GenerateRoomForCharacter(characters[1]); //Assert.AreEqual(10, room.Items.Count); foreach (Tag tag in characters[1].DislikeTags) { foreach (Item item in room.Items) { Console.WriteLine(tag.Name); Assert.False(item.Tags.Contains(tag)); } } Console.WriteLine("Characters:"); foreach (Character c in characters) { Console.WriteLine(c + "\n"); } Console.Write("Room:\n" + room); } }
public void it_should_generate_correctly_padded_codes() { RandomNumberGenerator randomNumberGenerator = Substitute.For <RandomNumberGenerator>(); randomNumberGenerator.GetRandomInteger(0, 9999).Returns(0, 1, 2, 3, 5, 10, 20, 100, 200, 1000, 2000, 9999); CharacterSafeCodeGenerator characterSafeCodeGenerator = new CharacterSafeCodeGenerator(randomNumberGenerator); Assert.AreEqual("0000", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0001", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0002", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0003", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0005", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0010", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0020", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0100", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("0200", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("1000", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("2000", characterSafeCodeGenerator.GenerateCode()); Assert.AreEqual("9999", characterSafeCodeGenerator.GenerateCode()); }