public void ObservarObjetoDatos()
        {
            IFabrica     fabrica = new FabricaNotificacion();
            IObjetoDatos od1     = Helper.Crear(HelperTipo.ObtenerTipo2(), fabrica);
            IObjetoDatos od2     = Helper.Crear(HelperTipo.ObtenerTipo2());

            Observable observable = ((ObjetoBase)od1).Observable();
            Observador observador = new Observador(od2);

            observable.Agregar(observador);

            Helper.Construir(od1, 2, 5);

            Evaluar.Comparar(od1, od2);

            od1.RemoverObjetoDatos("ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatosItem")[4]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatosItem")[3]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatosItem")[2]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatosItem")[1]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatosItem")[0]);

            od1.RemoverObjetoDatos("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem")[4]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem")[3]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem")[2]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem")[1]);
            od1.RemoverObjetoDatos("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem", od1.ObtenerColeccion("ReferenciaObjetoDatos/ReferenciaObjetoDatosItem")[0]);

            Evaluar.Comparar(od1, od2);

            od1.EstablecerObjetoDatos("ReferenciaObjetoDatos", null);
            od1.EstablecerObjetoDatos("ReferenciaObjetoDatos2", null);

            Evaluar.Comparar(od1, od2);
        }
示例#2
0
        public EvaluarSerializacionEnFichero()
        {
            int anidamiento = 2;
            int items       = 5;

            _od  = Helper.Crear(HelperTipo.ObtenerTipo());
            _od2 = Helper.Crear(HelperTipo.ObtenerTipo2());
            _od3 = Helper.Crear(HelperTipo.ObtenerTipo3());

            _odx  = Helper.Crear(HelperTipo.ObtenerTipo());
            _odx2 = Helper.Crear(HelperTipo.ObtenerTipo2());
            _odx3 = Helper.Crear(HelperTipo.ObtenerTipo3());

            Helper.Construir(_od);
            Helper.Construir(_od2);
            Helper.Construir(_od3);

            Helper.Construir(_od, anidamiento, items);
            Helper.Construir(_od2, anidamiento, items);
            Helper.Construir(_od3, anidamiento, items);

            //_od = BuilderObjetoDatos.Construir();
            //_odx = BuilderObjetoDatos.Construir(2, 5);

            //_od2 = BuilderObjetoDatos.Construir2();
            //_odx2 = BuilderObjetoDatos.Construir2(2, 5);

            //_od3 = BuilderObjetoDatos.Construir3();
            //_odx3 = BuilderObjetoDatos.Construir3(2, 5);
        }
        public void DeshacerCambiosEnObjetoDatosX()
        {
            // arrange
            Log controlador = new Log();
            //FabricaHistorial fabrica = new FabricaHistorial();
            IFabrica     fabrica = new FabricaHistorial(controlador);
            IObjetoDatos od      = fabrica.Crear(HelperTipo.ObtenerTipo2());

            // act
            //ConstruirObjetoDatosComplejo(od, 2);
            //od.CrearObjetoDatos("ReferenciaObjetoDatos");
            //od.CrearObjetoDatos("ReferenciaObjetoDatosItem");
            Helper.Construir(od, 1);

            // deshacer
            controlador.Deshacer();

            Assert.IsNull(od.ObtenerObjetoDatos("ReferenciaObjetoDatos"), "Se esperaba null");
            Assert.AreEqual(od.ObtenerColeccion("ReferenciaObjetoDatosItem").Longitud, 0, "Se esperaba cero.");
        }
        public void RecuperarInstantaneaEnObjetoDatosX()
        {
            // arrange
            Log          log     = new Log();
            IFabrica     fabrica = new FabricaHistorial(log);
            IObjetoDatos od      = fabrica.Crear(HelperTipo.ObtenerTipo2());

            // act
            var instantanea1 = log.CrearInstantanea();

            od.CrearObjetoDatos("ReferenciaObjetoDatos");

            var instantanea2 = log.CrearInstantanea();

            od.CrearObjetoDatos("ReferenciaObjetoDatosItem");

            var instantanea3 = log.CrearInstantanea();

            od.CrearObjetoDatos("ReferenciaObjetoDatosItem");

            var instantanea4 = log.CrearInstantanea();

            od.CrearObjetoDatos("ReferenciaObjetoDatosItem[0]/ReferenciaObjetoDatos");

            var instantanea5 = log.CrearInstantanea();

            od.CrearObjetoDatos("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos");

            var valorBoolean = od.Obtener("atributoBoolean");
            var valorByte    = od.Obtener("atributoByte");

            var instantanea6 = log.CrearInstantanea();

            od.EstablecerBoolean("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos/atributoBoolean", true);
            od.EstablecerByte("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos/atributoByte", byte.MaxValue);

            Assert.AreEqual(od.ObtenerBoolean("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos/atributoBoolean"), true);
            Assert.AreEqual(od.ObtenerByte("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos/atributoByte"), byte.MaxValue);

            // recuperar
            log.Recuperar(instantanea6);

            Assert.AreEqual(od.ObtenerBoolean("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos/atributoBoolean"), valorBoolean);
            Assert.AreEqual(od.ObtenerByte("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos/atributoByte"), valorByte);


            // recuperar
            log.Recuperar(instantanea5);

            Assert.IsNull(od.Obtener("ReferenciaObjetoDatosItem[1]/ReferenciaObjetoDatos"));

            // recuperar
            log.Recuperar(instantanea4);

            Assert.IsNull(od.Obtener("ReferenciaObjetoDatosItem[0]/ReferenciaObjetoDatos"));

            // recuperar
            log.Recuperar(instantanea3);

            Assert.AreEqual(od.ObtenerColeccion("ReferenciaObjetoDatosItem").Longitud, 1);

            // recuperar
            log.Recuperar(instantanea2);

            Assert.AreEqual(od.ObtenerColeccion("ReferenciaObjetoDatosItem").Longitud, 0);

            // recuperar
            log.Recuperar(instantanea1);

            Assert.IsNull(od.Obtener("ReferenciaObjetoDatos"));
        }