// Use this for initialization
        void Start()
        {
            //A Room
            _room = (Room)A.Room().Named("Room");

            //Players
            _player1 = (Player)A.Player().Named("Player 1");
            _player2 = (Player)A.Player().Named("Player 2");

            //Items
            _hdd = (Item)An.Item().Named("HDD");
            _ram = (Item)An.Item().Named("RAM");
            _cpu = (Item)An.Item().Named("CPU");

            //Add players to the room
            _room.AddPlayer(_player1).AddPlayer(_player2);
            //Add items to the room
            _room.AddItem(_cpu).AddItem(_hdd).AddItem(_ram);


            //Bind the components
            _cpuButton       = GameObject.Find("btnCPU").GetComponent <Button>();
            _ramButton       = GameObject.Find("btnRam").GetComponent <Button>();
            _hddButton       = GameObject.Find("btnHDD").GetComponent <Button>();
            _playerTurn      = GameObject.Find("txtPlayerTurn").GetComponent <Text>();
            _playerTurn.text = "Player:\n" + _player1.Name;
            //Add listeners
            _cpuButton.onClick.AddListener(() => AddItemToInventory(_cpu, _cpuButton));
            _hddButton.onClick.AddListener(() => AddItemToInventory(_hdd, _hddButton));
            _ramButton.onClick.AddListener(() => AddItemToInventory(_ram, _ramButton));
        }
        public void Item_Gets_Added_To_Room()
        {
            var item = (Item)An.Item().Named("Item 1");
            var room = (Room)A.Room().Named("Room 1");

            room.AddItem(item);

            Assert.AreEqual(1, room.Items.Count);
        }
        public void Item_Gets_Added_To_Inventory()
        {
            var player = (Player)A.Player().Named("John");
            var item   = (Item)An.Item().Named("TestItem");

            player.AddItemToInventory(item);

            Assert.AreEqual(1, player.Inventory.Count);
        }
        public void Item_Gets_Removed_From_Room()
        {
            var room = (Room)A.Room().Named("Room").WithItems(
                new List <Item>()
            {
                An.Item().Named("Item")
            });

            room.RemoveItem("Item");

            Assert.AreEqual(0, room.Items.Count);
        }
        public void Item_Gets_Removed_From_Inventory()
        {
            var player = (Player)A.Player().Named("John").WithItems(
                new List <Item>()
            {
                An.Item().Named("Item")
            });

            player.RemoveItem("Item");

            Assert.AreEqual(0, player.Inventory.Count);
        }
        public void ItemClassExists()
        {
            var item = (Item)An.Item().Named("Item");

            Assert.NotNull(item);
        }