예제 #1
0
        public void UnicaInstancia()
        {
            var p1 = ProdutoContainer.GetInstance();
            var p2 = ProdutoContainer.GetInstance();

            Assert.IsNotNull(p1);
            Assert.IsNotNull(p2);
            Assert.AreEqual(p1, p2);
            Assert.IsTrue(p1 == p2);

            var c1 = CategoriaContainer.GetInstance();
            var c2 = CategoriaContainer.GetInstance();

            Assert.IsNotNull(c1);
            Assert.IsNotNull(c2);
            Assert.AreEqual(c1, c2);
            Assert.IsTrue(c1 == c2);
        }
예제 #2
0
        public void MesmoContainerComMesmoTipoDeDado_Erro()
        {
            var c1 = CategoriaContainer.GetInstance();
            var c2 = CategoriaContainer.GetInstance();

            //Um determinado tipo de dado só pode ter UM Container
            var c21 = Categoria2Container.GetInstance();
            var c22 = Categoria2Container.GetInstance();


            Assert.AreEqual(c1, c2);
            Assert.IsTrue(c1 == c2);

            Assert.AreEqual(c21, c22);
            Assert.IsTrue(c21 == c22);

            Assert.IsTrue(c1 == c21);
            Assert.IsTrue(c1 == c22);
        }
예제 #3
0
        public void Basico()
        {
            var p = ProdutoContainer.GetInstance();

            Assert.IsNotNull(p);

            Assert.AreEqual(1, p.ObterUm(1).Id);
            Assert.AreEqual(2, p.ObterUm(2).Id);
            Assert.AreEqual(3, p.ObterUm(3).Id);
            Assert.AreEqual(4, p.ObterUm(4).Id);
            Assert.AreEqual(5, p.ObterUm(5).Id);
            Assert.AreEqual(6, p.ObterUm(6).Id);
            Assert.AreEqual(7, p.ObterUm(7).Id);
            Assert.AreEqual(8, p.ObterUm(8).Id);
            Assert.AreEqual(9, p.ObterUm(9).Id);

            Assert.IsNull(p.ObterUm(10));

            Assert.AreEqual(9, p.ObterTodos().Count);



            var c = CategoriaContainer.GetInstance();


            Assert.IsNotNull(c);

            Assert.AreEqual(1, c.ObterTodos().First(x => x.Id == 1).Id);
            Assert.AreEqual(2, c.ObterTodos().First(x => x.Id == 2).Id);
            Assert.AreEqual(3, c.ObterTodos().First(x => x.Id == 3).Id);
            Assert.AreEqual(4, c.ObterTodos().First(x => x.Id == 4).Id);
            Assert.AreEqual(5, c.ObterTodos().First(x => x.Id == 5).Id);
            Assert.AreEqual(6, c.ObterTodos().First(x => x.Id == 6).Id);
            Assert.AreEqual(7, c.ObterTodos().First(x => x.Id == 7).Id);
            Assert.AreEqual(8, c.ObterTodos().First(x => x.Id == 8).Id);
            Assert.AreEqual(9, c.ObterTodos().First(x => x.Id == 9).Id);

            Assert.IsNull(c.ObterTodos().FirstOrDefault(x => x.Id == 10));

            Assert.AreEqual(9, c.ObterTodos().Count);
        }
예제 #4
0
 public static Container <CategoriaVO> GetInstance()
 {
     return(instanciaUnica ?? (instanciaUnica = new CategoriaContainer()));
 }