Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
bisterflow1 committed Nov 24, 2023
2 parents 274556a + a28b0b3 commit fcb7adb
Show file tree
Hide file tree
Showing 3 changed files with 144 additions and 99 deletions.
3 changes: 1 addition & 2 deletions Proyecto/libreria/gimnasio.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#include <liberia.h>

#include <libreria.h>


Asistencia* resizeClientes(Asistencia *AsistenciaClientes, u_int CantAsistencias, u_int nuevoTam){
Expand Down
92 changes: 92 additions & 0 deletions Proyecto/libreria/gimnasio.cpp.autosave.iRncKq
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#include <libreria.h>//.h>



Asistencia* resizeClientes(Asistencia *AsistenciaClientes, u_int CantAsistencias, u_int nuevoTam){

Asistencia* aux = new Asistencia[nuevoTam];

u_int longitud = (CantAsistencias < nuevoTam) ? CantAsistencias : nuevoTam;

if(aux != nullptr) {

for(u_int i = 0; i < longitud; i++)
aux[i] = AsistenciaClientes[i];
return aux;
}
return nullptr;
}

Inscripcion* resizeInscripcion(Asistencia* AsistenciaClientes, u_int cantinscripciones, u_int nuevoTam){

Inscripcion* aux = new Inscripcion[nuevoTam];

u_int longitud = (cantinscripciones < nuevoTam) ? cantinscripciones : nuevoTam;

if(aux != nullptr) {

for(u_int i = 0; i < longitud; i++)
aux[i] = AsistenciaClientes->CursosInscriptos[i];;
return aux;
}
return nullptr;
}
eCliente BuscarIdCliente(ClientesGYM *Clientes, u_int idCliente, u_int CantClientes, ClientesGYM &cliente)
{
ClientesGYM *aux = Clientes, *ultimo = (Clientes) + CantClientes - 1;
while(true) {
if (aux->idCliente == idCliente ){
cliente = *aux;
return eCliente :: ExitoCliente;
}
if (aux == ultimo)
break;
aux++;
}
return eCliente :: ErrIdClienteinx;
}

eClase BuscarIdClase(ClasesGym *Clases, u_int idClase, u_int cantClases, ClasesGym &clase)
{
ClasesGym *aux = Clases, *ultimo = (Clases) + cantClases - 1;
while(true) {
if (aux->idClase == idClase ){
clase = *aux;
return eClase :: ExitoClase;
}
if (aux == ultimo)
break;
aux++;
}
return eClase :: ErrIdClaseinx;
}
int BuscarIdCliente(ClientesGYM *Clientes, u_int idCliente, u_int CantClientes, ClientesGYM &cliente)
{
ClientesGYM *aux = Clientes, *ultimo = (Clientes) + CantClientes - 1;
while(true) {
if (aux->idCliente == idCliente ){
cliente = *aux;
return 1 ;//Exito Cliente
}
if (aux == ultimo)
break;
aux++;
}
return 0;//Error id Cliente
}

int BuscarIdClase(ClasesGym *Clases, u_int idClase, u_int cantClases, ClasesGym &clase)
{
ClasesGym *aux = Clases, *ultimo = (Clases) + cantClases - 1;
while(true) {
if (aux->idClase == idClase ){
clase = *aux;
return 1 // exito id clase
}
if (aux == ultimo)
break;
aux++;
}
return 0 // error id clase
}

148 changes: 51 additions & 97 deletions Proyecto/testing/tst_proyecto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,112 +2,66 @@
#include "archivos.h"
#include "libreria.h"

TEST_CASE("funciones (correctamente)", "[verificarPago]")
{
usuario aux;
int valor;
SECTION ("prueba del estado negativo"){
aux.estado=-6;
valor=verificarPago(aux);
CHECK (valor==-1);
}
SECTION ("prueba del estado positivo"){
int valor;
aux.estado=1;
valor=verificarPago(aux);
CHECK (valor==1);
}
/* SECTION ("prueba del estado con letras"){
int valor;
int condicion;
aux.estado=1;
condicion=contieneCaracterNoNumerico(aux.estado);
REQUIRE (condicion==0);
valor=verificarPago(aux);
}*/
SECTION ("prueba del estado 0"){
int valor;
aux.estado=0;
valor=verificarPago(aux);
CHECK (valor==1);
}
}
TEST_CASE("Lectura Archivos", "[Archivos]"){
SECTION("Archivo Usuarios"){

TEST_CASE("funciones (correctamente)","[menores]"){
SECTION("correspondencia verdadera") // MAYOR DE EDAD
{
usuario aux;
aux.fechaNac = "26-06-2011";
bool resul = menores(aux);
unsigned int tamC;
usuario *usuarios;
usuario usuarioTesting;
int errorArchivo;
//90,Alejandro,Pacheco,AlejandroPacheco@bolandia.iri,625-718-5792,02-08-1997,-13735
usuarioTesting.idCliente = 90;
usuarioTesting.nombre = "Mateo";
usuarioTesting.apellido = "Pacheco";
usuarioTesting.email = "AlejandroPacheco@bolandia.iri";
usuarioTesting.telefono = "625-718-5792";
usuarioTesting.fechaNac = "02-08-1997";
usuarioTesting.estado = -13735;

REQUIRE(resul == true);
}
SECTION("correspondencia verdadera") // menor de edasd
{
usuario aux;
aux.fechaNac = "28-11-2000";
bool resul = menores(aux);
ifstream archivo("iriClientesGYM.csv");
//leerArchivoUsuario(ifstream &archivo, usuario* & usuarios, unsigned int &tamU);
errorArchivo = leerArchivoUsuario(archivo, usuarios, tamC);

REQUIRE(resul == false);
}
}
REQUIRE(errorArchivo == 1);
REQUIRE(tamC == 250);
REQUIRE(usuarios[89].apellido == usuarioTesting.apellido);
REQUIRE(usuarios[89].idCliente == usuarioTesting.idCliente);
REQUIRE(usuarios[89].email == usuarioTesting.email);
REQUIRE(usuarios[89].estado == usuarioTesting.estado);
REQUIRE(usuarios[89].fechaNac == usuarioTesting.fechaNac);
REQUIRE(usuarios[89].nombre == usuarioTesting.nombre);
REQUIRE(usuarios[89].telefono == usuarioTesting.telefono);

TEST_CASE("funciones (correctamente)", "[cupomax]")
{
// Crear objetos necesarios para la prueba
clase clase;
clase.Turnos->cantInscriptos = 20; // Ajusta los valores según tus necesidades
int m= 5;
claseG *aux= new claseG[m];
aux[0].Turnos->cupoMax= 40;
aux[1].Turnos->cupoMax= 40;
aux[2].Turnos->cupoMax= 40;
aux[3].Turnos->cupoMax= 40;
aux[4].Turnos->cupoMax= 40;
claseG array[3]; // Ajusta el tamaño según tus necesidades
array[0].Turnos = new Turno{5, 15};
array[1].Turnos = new Turno{12, 25};
array[2].Turnos = new Turno{8, 18};
archivo.close();

SECTION("Caso de prueba 1") {
REQUIRE(cupomax(clase, 2, array) == true); // Ajusta el índice según tus necesidades
}
delete []usuarios;
}

SECTION("Caso de prueba 2") {
REQUIRE(cupomax(clase, 3, array) == false); // Ajusta el índice según tus necesidades
}
}
SECTION("Archivo Clases") {
unsigned int tamC;
clases *clas, claseTesting;
int errorArchivo;

claseTesting.idClas = 9;
claseTesting.nombreClas = "Yoga";
claseTesting.horario = 15;
claseTesting.cupoMax = 25;
claseTesting.cupo = 0;

TEST_CASE("funciones(correctamente)", "[correspondencia]")
{
SECTION("correspondencia verdadera")
{
clase clases;
clases.Turnos=new Turno();//me aseguro que turnos se inicialize correctamente
clases.Turnos->idclas=10;
int m=3;
claseG *aux=new claseG[3];
ifstream archivo("iriClasesGYM.csv");
//int leerArchivoClases(ifstream &archivo, clase* &clases, unsigned int &tamC);
errorArchivo = leerArchivoClases(archivo, clas, tamC);

bool resultado=correspondencia(clases,m,aux);
REQUIRE(resultado==true);
delete []aux;
delete clases.Turnos;
}
SECTION("correspondencia falsa")
{
clase clases;
clases.Turnos = new Turno(); // me aseguro que turnos se inicialize correctamente
clases.Turnos->idclas = 99; // Cambié el idclas para que no coincida con el idclas en aux
int m = 3;
claseG *aux = new claseG[3];
REQUIRE(errorArchivo == 1);
REQUIRE(tamC == 60);
REQUIRE(clas[8].idClas == claseTesting.idClas);
REQUIRE(clas[8].nombreClas == claseTesting.nombreClas);
REQUIRE(clas[8].horario == claseTesting.horario);
REQUIRE(clas[8].cupoMax == claseTesting.cupoMax);
REQUIRE(clas[8].cupo == claseTesting.cupo);

bool resultado = correspondencia(clases, m, aux);
REQUIRE(resultado == false);
archivo.close();

delete[] aux;
delete clases.Turnos;
}
delete []clas;
}
}

0 comments on commit fcb7adb

Please sign in to comment.