Example #1
0
        public void TestInventoryHasItems()
        {
            Peggy p = new Peggy();

            Assert.False(p.InventoryHasItems());

            p.AddItemToInventory(_goodTestItem);
            Assert.True(p.InventoryHasItems());
        }
Example #2
0
        public void TestRemoveInvalidItemFromInventoryByItemId()
        {
            Peggy p = new Peggy();

            p.AddItemToInventory(_goodTestItem);

            Item badItem = p.RemoveItemFromInventoryById("not-in-the-inventory");

            Assert.Null(badItem);
        }
Example #3
0
        public void TestSetCurrentRoom()
        {
            Room  r = new Room("room-id", "Room Name", "I am a room description.");
            Peggy p = new Peggy();

            p.SetCurrentRoom(r);
            Assert.Equal("room-id", p.CurrentRoom.Id);
            Assert.Equal("Room Name", p.CurrentRoom.FriendlyName);
            Assert.Equal("I am a room description.", p.CurrentRoom.Description);
        }
Example #4
0
        public void TestAddItemToAndRemoveItemFromInventory()
        {
            Peggy p = new Peggy();

            p.AddItemToInventory(_goodTestItem);
            Assert.True(p.InventoryHasItems());

            Item removedItem = p.RemoveItemFromInventoryById(_goodTestItem.Id);

            Assert.Equal(_goodTestItem, removedItem);
        }
Example #5
0
        public void TestRemoveInvalidItemFromInventory()
        {
            Peggy p = new Peggy();

            // Add an item to the inventory just to verify it's working.
            p.AddItemToInventory(_goodTestItem);
            Assert.True(p.InventoryHasItems());

            // Now try and remove an invalid item from the inventory.
            p.RemoveItemFromInventory(_badTestItem);
            Assert.True(p.InventoryHasItems());
        }
Example #6
0
        public void TestGiveItemToWithNullItem()
        {
            Room      r = _testRoom;
            Character c = _testCharacter;

            r.AddCharacter(c);

            Peggy p = new Peggy();

            p.SetCurrentRoom(r);

            Item i = _goodTestItem;

            p.AddItemToInventory(i);

            Assert.Throws <ArgumentException>(() => p.GiveItemTo(null, c.Name));
            Assert.True(p.InventoryHasItems());
        }
Example #7
0
        public void TestLookInContainerWithRequiredItemAndPeggyDoesNotHaveItem()
        {
            Item      ri = new Item("required-item", "Required Item", "This item is required.");
            Item      ci = new Item("contained-item", "Contained Item", "I am an item in a container.");
            Container c  = new Container("container-with-required-item", "Container with Required Item");
            Room      r  = new Room("room", "Room", "A room.");

            c.AddItem(ci);
            c.AddRequiredItemById(ri.Id);
            r.AddContainer(c);

            Peggy p = new Peggy();

            p.SetCurrentRoom(r);
            string res = p.LookInContainer(c.Name);

            Assert.Equal($"You need the {ri.Id} to open the {c.Name}.\r\n", res);
        }
Example #8
0
        public void TestTakeItemFromCharacter()
        {
            Room      r = _testRoom;
            Character c = _testCharacter;
            Item      i = _goodTestItem;

            c.AddItem(i);
            r.AddCharacter(c);

            Peggy p = new Peggy();

            p.SetCurrentRoom(r);

            string res      = p.TakeItemFrom(i.Name, c.Name);
            string expected = $"{i.Name} has been added to your inventory.\r\n";

            Assert.Equal(expected, res);
            Assert.True(p.InventoryHasItems());
        }
Example #9
0
        public void TestLook()
        {
            Room      r  = _testRoom;
            Container c1 = _testContainer;
            Character c2 = _testCharacter;

            r.AddContainer(c1);
            r.AddCharacter(c2);

            Peggy p = new Peggy();

            p.SetCurrentRoom(r);
            string res = p.Look();

            string expected = "You are in the Test Room, you see...\r\n" +
                              " - Test Container\r\n - Test Character\r\n";

            Assert.Equal(expected, res);
        }
Example #10
0
        public void TestGiveItemToWithInvalidItem()
        {
            Room      r = _testRoom;
            Character c = _testCharacter;

            r.AddCharacter(c);

            Peggy p = new Peggy();

            p.SetCurrentRoom(r);

            Item i = _goodTestItem;

            p.AddItemToInventory(i);

            string res      = p.GiveItemTo("shitty name", c.Name);
            string expected = $"There's nothing in your inventory called shitty name.\r\n";

            Assert.Equal(expected, res);
            Assert.True(p.InventoryHasItems());
        }
Example #11
0
        public void TestGiveItemTo()
        {
            Room      r = _testRoom;
            Character c = _testCharacter;

            r.AddCharacter(c);

            Peggy p = new Peggy();

            p.SetCurrentRoom(r);

            Item i = _goodTestItem;

            p.AddItemToInventory(i);

            string res      = p.GiveItemTo(i.Name, c.Name);
            string expected = $"Removed {i.Name} from your inventory.\r\n";

            Assert.Equal(expected, res);
            Assert.False(p.InventoryHasItems());
        }
Example #12
0
        public void TestLookInContainerWithRequiredItemAndPeggyHasItem()
        {
            Item      ri = new Item("required-item", "Required Item", "This item is required.");
            Item      ci = new Item("contained-item", "Contained Item", "I am an item in a container.");
            Container c  = new Container("container-with-required-item", "Container with Required Item");
            Room      r  = new Room("room", "Room", "A room.");

            c.AddItem(ci);
            c.AddRequiredItemById(ri.Id);
            r.AddContainer(c);

            Peggy p = new Peggy();

            p.AddItemToInventory(ri);
            p.SetCurrentRoom(r);
            string res = p.LookInContainer(c.Name);

            Assert.Equal("You peer into the container-with-required-item and see...\r\n" +
                         " - Contained Item\r\n",
                         res);
        }
Example #13
0
 public GameWorld()
 {
     _rooms = new Dictionary <string, Room>();
     Peggy  = new Peggy();
 }
Example #14
0
        public void TestAddInvalidItemToInventory()
        {
            Peggy p = new Peggy();

            Assert.Throws <ArgumentNullException>(() => p.AddItemToInventory(null));
        }
Example #15
0
        public void TestSetCurrentRoomWithNullValueThrowsException()
        {
            Peggy p = new Peggy();

            Assert.Throws <ArgumentNullException>(() => p.SetCurrentRoom(null));
        }
 private void Start()
 {
     parent = transform.parent.GetComponent <Peggy>();
 }