public void ComputadorItemAddtoInventoryByIdDuplicate()
        {
            int idinventario = 100;
            int itemid       = 100;

            // Limpa o inventário
            Inventario.getInstance(idinventario).RemoveAll();

            // Cria um item com o id itemid
            Item _item = new Computador(itemid);

            (_item as Computador).RamInsere(23);
            (_item as Computador).DiscoInsere(1024);

            // Diz ao item para se adicionar ao inventário com instancia idinventario 2 vezes
            _item.AddToInventario(idinventario);
            Assert.Throws <ArgumentException>(() =>
            {
                _item.AddToInventario(idinventario);
            });

            Item _item2 =
                (Item)Inventario
                .getInstance(idinventario)
                .GetItemById(itemid);

            Assert.AreEqual(_item2.Id, itemid);
        }
        public void ComputadorItemAddtoInventoryDuplicate()
        {
            Assert.Throws <ArgumentException>(() =>
            {
                // Limpa o inventário
                Inventario.getInstance().RemoveAll();
                // Cria um item com o id 123
                Item _item = new Computador(123);

                (_item as Computador).RamInsere(23);
                (_item as Computador).DiscoInsere(1024);

                // Diz ao item para se adicionar ao inventário com instancia 0 2 vezes
                bool result  = _item.AddToInventario(Inventario.getInstance());
                bool result2 = _item.AddToInventario(Inventario.getInstance());
            });
        }
        public void ComputadorItemDelfromInventory()
        {
            int idinventario = 100;
            int itemid       = 100;

            // Limpa o inventário
            Inventario.getInstance(idinventario).RemoveAll();

            // Cria um item com o id itemid
            Item _item = new Computador(itemid);

            (_item as Computador).RamInsere(23);
            (_item as Computador).DiscoInsere(1024);

            // Diz ao item para se adicionar ao inventário com instancia idinventario 2 vezes
            _item.AddToInventario(Inventario.getInstance(idinventario));
            bool res = _item.RemoveFromInventario(idinventario);

            Assert.IsTrue(res);
        }
        public void ComputadorItemAddtoInventory()
        {
            // Limpa o inventário
            Inventario.getInstance().RemoveAll();
            // Cria um item com o id 123
            Item _item = new Computador(123);

            (_item as Computador).RamInsere(23);
            (_item as Computador).DiscoInsere(1024);

            // Diz ao item para se adicionar ao inventário com instancia 0
            bool result = _item.AddToInventario(Inventario.getInstance());

            // Vai ao inventário buscar o item com o id 123
            Item _item2 = (Item)Inventario.getInstance(0).GetItemById(123);

            // Verifica se o tipo do item buscado corresponde
            Assert.AreEqual(_item2.Tipo, (new Computador(1)).GetType());

            // Verifica se foi adicionado
            Assert.IsTrue(result);
        }
        public void ComputadoresAdicionaInventarioCycle()
        {
            int numeroitems = 200;

            Inventario.getInstance(20).RemoveAll();
            var _inv = Inventario.getInstance(20);

            Computador _comp = new Computador(1);

            Assert.AreEqual(_inv.TotalItems, 0);

            _comp.RamInsere(1024);
            _comp.DiscoInsere(1024);

            _inv.Adiciona(_comp);
            Assert.AreEqual(_inv.TotalItems, 1);

            for (int i = 2; i <= numeroitems; i++)
            {
                Computador _comp2 = new Computador(i);
                _comp2.IpInsere("127.0.0.1");
                _comp2.IpInsere("127.0.0.2");
                _comp2.IpInsere("127.0.0.3");
                _comp2.IpInsere("127.0.0.4");
                _comp2.IpInsere("127.0.0.5");
                _comp2.MacInsere("00:00:00:00:00:01");
                _comp2.MacInsere("00:00:00:00:00:02");
                _comp2.MacInsere("00:00:00:00:00:03");
                _comp2.MacInsere("00:00:00:00:00:04");
                _comp2.MacInsere("00:00:00:00:00:05");
                _comp2.RamInsere(1024);
                _comp2.DiscoInsere(1024);
                _comp2.AddToInventario(20);
                Assert.AreEqual(_inv.TotalItems, i);
            }
            Assert.AreEqual(_inv.TotalItems, numeroitems);
        }