/// <summary> /// Actualiza el valor en un punto de la matriz /// </summary> /// <param name="puntoActualizar"></param> /// <returns></returns> public IMatrizDTO UpdateMatriz(IPuntoDTO puntoActualizar) { IMatrizDTO matriz = RecuperarJson(); matriz.Matriz[puntoActualizar.x, puntoActualizar.y, puntoActualizar.z] = puntoActualizar.valor; GuardarJson(matriz); return(matriz); }
public void TestMethod1() { IPuntoDTO pIni, pFin, pUpdate; MatrizBL matrizBL = new MatrizBL(); long respuesta = 0; pIni = new IPuntoDTO(); pFin = new IPuntoDTO(); pUpdate = new IPuntoDTO(); //QUERY 1 1 1 3 3 3 pIni.x = 1; pIni.y = 1; pIni.z = 1; pFin.x = 3; pFin.y = 3; pFin.z = 3; respuesta = matrizBL.QueryMatiz(pIni, pFin); Assert.AreEqual(4, respuesta); //UPDATE 1 1 1 23 pUpdate.x = 1; pUpdate.y = 1; pUpdate.z = 1; pUpdate.valor = 23; matrizBL.UpdateMatriz(pUpdate); //QUERY 2 2 2 4 4 4 pIni.x = 2; pIni.y = 2; pIni.z = 2; pFin.x = 4; pFin.y = 4; pFin.z = 4; respuesta = matrizBL.QueryMatiz(pIni, pFin); Assert.AreEqual(4, respuesta); //QUERY 1 1 1 3 3 3 pIni.x = 1; pIni.y = 1; pIni.z = 1; pFin.x = 3; pFin.y = 3; pFin.z = 3; respuesta = matrizBL.QueryMatiz(pIni, pFin); Assert.AreEqual(27, respuesta); }
/// <summary> /// Metodo que suma los valors dentro de dos puntos en el cubo /// </summary> /// <param name="puntoInicial">Punto inicial</param> /// <param name="puntoFinal">Punto Final</param> /// <returns>La sma de los valores</returns> public long QueryMatiz(IPuntoDTO puntoInicial, IPuntoDTO puntoFinal) { long respuesta = 0; IMatrizDTO matriz = this.RecuperarJson(); for (int i = puntoInicial.x; i <= puntoFinal.x; i++) { for (int j = puntoInicial.y; j <= puntoFinal.y; j++) { for (int k = puntoInicial.z; k <= puntoFinal.z; k++) { respuesta += matriz.Matriz[i, j, k]; } } } return(respuesta); }
/// <summary> /// Metodo que invoca la actulizacion de un punto en la Matriz /// </summary> /// <param name="matriz"></param> /// <param name="operador"></param> /// <returns></returns> private IMatrizDTO ActulizeMatriz(IMatrizDTO matriz, string operador) { int number; long valor; IPuntoDTO punto = new IPuntoDTO(); String[] evaluar = operador.Split(' '); int.TryParse(evaluar[1], out number); punto.x = number; int.TryParse(evaluar[2], out number); punto.y = number; int.TryParse(evaluar[3], out number); punto.z = number; long.TryParse(evaluar[4], out valor); punto.valor = valor; matriz = _matrizBL.Value.UpdateMatriz(punto); return(matriz); }
public void TestMethod1() { MatrizDAL matrizDal = new MatrizDAL(); Parametros parametro = new Parametros() { T = 2, N = 4, M = 5 }; IPuntoDTO punto; var matriz = matrizDal.Inicializar(parametro); punto = new IPuntoDTO(); punto.x = 2; punto.y = 2; punto.z = 2; punto.valor = 4; var YYY = matrizDal.UpdateMatriz(punto); //Assert.AreEqual(); var E = 2; }
/// <summary> /// Metodo que invoca el query de en la Matriz /// </summary> /// <param name="operador"></param> private void QueryMatriz(string operador) { int number; IPuntoDTO puntoIni = new IPuntoDTO(); IPuntoDTO puntoFin = new IPuntoDTO(); String[] evaluar = operador.Split(' '); int.TryParse(evaluar[1], out number); puntoIni.x = number; int.TryParse(evaluar[2], out number); puntoIni.y = number; int.TryParse(evaluar[3], out number); puntoIni.z = number; int.TryParse(evaluar[4], out number); puntoFin.x = number; int.TryParse(evaluar[5], out number); puntoFin.y = number; int.TryParse(evaluar[6], out number); puntoFin.z = number; long query = _matrizBL.Value.QueryMatiz(puntoIni, puntoFin); respuestas.Add(query); }
/// <summary> /// Actualiza un punto en la matriz /// </summary> /// <param name="puntoActualizar"></param> /// <returns></returns> public IMatrizDTO UpdateMatriz(IPuntoDTO puntoActualizar) { IMatrizDTO matriz = _matrizDAL.Value.UpdateMatriz(puntoActualizar); return(matriz); }
/// <summary> /// Metodo que no se implementa en la capa de persistencia /// </summary> /// <param name="puntoInicial"></param> /// <param name="puntoFinal"></param> /// <returns></returns> public long QueryMatiz(IPuntoDTO puntoInicial, IPuntoDTO puntoFinal) { throw new NotImplementedException(); }