@@ -449,43 +449,118 @@ def test_36_NumeroClases(self):
449
449
450
450
### RELACIONES, (entre entidades u otras relaciones), como Matricula, Asocia... ###
451
451
452
+ class TestRelacionAsocia (unittest .TestCase ):
453
+ '''
454
+ Comprobación de las operaciones CRUD sobre la tabla Asocia que relaciona las entidades Curso y Asignatura de la BD.
455
+ '''
456
+ #Los métodos, por convención empiezan por la palabra test, representando que métodos componen el test.
457
+ def test_41_InserccionRelacionAsocia (self ):
458
+ '''
459
+ Comprueba el método nuevaClase del gestor GestorAsociacionesSQL.py
460
+ '''
461
+ #Nos aseguramos de que la base de datos se encuentra en estado CERO creándola en el momento.
462
+ os .system ('mysql -u root -p\' root\' < ../DBCreator_v0_1.sql' )
463
+ #Preparamos las variables
464
+ testA = testB = testC = False ;
452
465
453
- if False :
466
+ #1. Insertamos una asociacion en la base de datos y comprobamos que la salida es 'OK'
467
+ #Primero creamos una clase.
468
+ GestorClases .nuevaClase ('1' ,'A' ,'ESO' )
469
+ #Después creamos una asignatura:
470
+ GestorAsignaturas .nuevaAsignatura ('frances' )
471
+ #Usamos ambos ides (1 y 1 porque se acaban de introducir y son autoincrementables) para relacionarlos.
472
+ if GestorAsociaciones .nuevaAsociacion ('1' ,'1' ) == 'OK' :
473
+ testA = True
474
+ else :
475
+ testA = False
454
476
455
- ### RELACIONES ###
477
+ #2. Comprobamos que no podemos introducir una asociación entre una Clase y una Asignatura si alguna de las dos
478
+ # no existe previamente (por las foreing keys)
479
+ print "GestorAsociaciones" + str (GestorAsociaciones .nuevaAsociacion ('1' ,'2' ))
480
+ if GestorAsociaciones .nuevaAsociacion ('1' ,'2' ) == 'Alguno de los elementos no existe' :
481
+ testB = True
482
+ else :
483
+ testB = False
484
+
485
+ #3. Comprobamos que insertar una asociació que ya existe nos da un error.
486
+ print GestorAsociaciones .nuevaAsociacion ('1' ,'1' )
487
+ if GestorAsociaciones .nuevaAsociacion ('1' ,'1' ) == 'Elemento duplicado' :
488
+ testC = True
489
+ else :
490
+ testC = False
491
+
492
+ self .assertEqual (testA and testB and testC , True )
493
+
494
+
495
+ def test_42_LecturaRelacionesAsocia (self ):
496
+ '''Recupera la lista de todas las asociaciones (Clase-Asignatura) almacenadas en la base de datos.'''
497
+ os .system ('mysql -u root -p\' root\' < ../DBCreator_v0_1.sql' )
498
+ #Creamos una clase
499
+ GestorClases .nuevaClase ('1' ,'A' ,'ESO' )
500
+ #Después creamos dos asignaturas:
501
+ GestorAsignaturas .nuevaAsignatura ('frances' )
502
+ GestorAsignaturas .nuevaAsignatura ('lengua' )
503
+ GestorAsociaciones .nuevaAsociacion ('1' ,'1' )
504
+ GestorAsociaciones .nuevaAsociacion ('1' ,'2' )
505
+
506
+ self .assertEqual (len (GestorAsociaciones .getAsociaciones ()),2 )
507
+
508
+
509
+ def test_43_LecturaAsociacion (self ):
510
+ ''' Comprobación de la lectura correcta de una asociacion concreta'''
511
+ os .system ('mysql -u root -p\' root\' < ../DBCreator_v0_1.sql' )
512
+ #Damos de alta una clase
513
+ GestorClases .nuevaClase ('1' ,'A' ,'ESO' )
514
+ #Después creamos dos asignaturas:
515
+ GestorAsignaturas .nuevaAsignatura ('frances' )
516
+ GestorAsociaciones .nuevaAsociacion ('1' ,'1' )
517
+
518
+ if GestorClases .getClase ('1' ) != 'Elemento no encontrado' and GestorClases .getClase ('2' ) == 'Elemento no encontrado' :
519
+ test = True
520
+ else :
521
+ test = False
522
+
523
+ self .assertEqual (test , True )
524
+
525
+ def test_44_ModificacionAsociacion (self ):
526
+ '''Comprobación de como cualquier atributo de una asociación puede modificarse, método modAsociacion de GestorAsociacionesSQL.py'''
527
+ #Nos aseguramos de que la base de datos se encuentra en estado CERO creándola en el momento.
528
+ os .system ('mysql -u root -p\' root\' < ../DBCreator_v0_1.sql' )
529
+ #Preparamos las variables
530
+ testA = testB = testC = False ;
531
+
532
+ #Creamos una asociación:
533
+ GestorClases .nuevaClase ('1' ,'A' ,'ESO' )
534
+ GestorAsignaturas .nuevaAsignatura ('frances' )
535
+ GestorAsignaturas .nuevaAsignatura ('ingles' )
536
+ #Relacionamos la clase con la primera asignatura.
537
+ GestorAsociaciones .nuevaAsociacion ('1' ,'1' )
538
+
539
+ #1. Modificamos la asignatura de la asociación por la asignatura 2
540
+ if GestorAsociaciones .modAsociacion ('1' ,'1' ,'id_asignatura' , '2' ) == 'OK' :
541
+ testA = True
456
542
457
- class TestRelacionAsocia (unittest .TestCase ):
543
+
544
+ #Intentamos asociar una clase con una asignatura que no existe (la asignatura con id 3, inexistente):
545
+ #if GestorAsociaciones.modAsociacion('1','1','id_asignatura', '3') == 'Elemento no encontrado':
546
+ # testB=True
547
+
548
+
549
+ #Comprobamos que si realizamos una modificación que da lugar a una asociacioón que ya existe lo detecta.
458
550
'''
459
- Comprobación de las operaciones CRUD sobre la tabla Asocia que relaciona las entidades Curso y Asignatura de la BD.
551
+ #Creamos una nueva clase
552
+ GestorClases.nuevaClase('1','A','ESO') #LA anterior quedó como 1ABACH
553
+ #Intentamos cambiar un parámetro quedando como tra existente, debe de dar Elemento duplicado como error.
554
+ if GestorClases.modClase('2', 'nivel', 'BACH') == 'Elemento duplicado':
555
+ testC=True #El error se da.
460
556
'''
461
557
558
+ #Comprobamos que el nombre ha sido cambiado.
559
+ self .assertEqual (testA , True )
462
560
463
- #Los métodos, por convención empiezan por la palabra test, representando que métodos componen el test.
464
- def test_41_InserccionRelacionAsocia (self ):
465
- #Creamos una asignatura
466
- salidaA = GestorAsignaturas .nuevaAsignatura ('fr' ,'Frances' )
467
- if salidaA == 'OK' :
468
- salidaA = True
469
- else :
470
- salidaA = False
471
561
472
- #Creamos un curso
473
- salidaB = GestorCursos .nuevoCurso ('curso' ,'1' ,'A' ,'ESO' )
474
- if salidaB == 'OK' :
475
- salidaB = True
476
- else :
477
- salidaB = False
478
- #Testeamos la creación de la asociación
479
- salidaC = GestorAsociaciones .nuevaAsociacion ('fr' ,'curso' )
480
- if salidaC == 'OK' :
481
- salidaC = True
482
- else :
483
- salidaC = False
484
-
485
- self .assertEqual (salidaA and salidaB and salidaC , True )
486
562
487
- def test_42_LecturaRelacionAsocia (self ):
488
- self .assertNotEqual (GestorAsociaciones .getAsociacion ('fr' ,'curso' ),'Elemento no encontrado' )
563
+ if 0 :
489
564
'''
490
565
def test_43_ModificacionRelacionAsocia(self):
491
566
#Intentamos modificar el cambio de la asociación de un curso a una asignatura
@@ -506,27 +581,36 @@ def test_44_EliminacionRelacionAsocia(self):
506
581
self .assertEqual (salida ,'OK' )
507
582
508
583
509
- def test_45_AlumnosMAtriculadosEnUnaAsignaturaYCurso (self ):
510
- aprovisionadorDBconInterfaz .aprovisiona ()
511
- sizeA = len (GestorAsociaciones .getAlumnos ('mt' ,'1AESO' ))
512
- sizeB = len (GestorAsociaciones .getAlumnos ('fr' ,'1AESO' ))
513
- sizeC = len (GestorAsociaciones .getAlumnos ('mt' ,'1BESO' ))
514
- os .system ('mysql -u root -p\' root\' < ../DBCreator_v0.sql' )
515
- salida = False
516
- if sizeA == 1 and sizeB == 3 and sizeC == 3 :
517
- salida = True
518
- self .assertEqual (salida ,True )
584
+ if 0 :
585
+
586
+ def test_45_AlumnosMAtriculadosEnUnaAsignaturaYCurso (self ):
587
+ aprovisionadorDBconInterfaz .aprovisiona ()
588
+ sizeA = len (GestorAsociaciones .getAlumnos ('mt' ,'1AESO' ))
589
+ sizeB = len (GestorAsociaciones .getAlumnos ('fr' ,'1AESO' ))
590
+ sizeC = len (GestorAsociaciones .getAlumnos ('mt' ,'1BESO' ))
591
+ os .system ('mysql -u root -p\' root\' < ../DBCreator_v0.sql' )
592
+ salida = False
593
+ if sizeA == 1 and sizeB == 3 and sizeC == 3 :
594
+ salida = True
595
+ self .assertEqual (salida ,True )
596
+
597
+ def test_46_ProfesoresQueImpartenEnUnCursoYAsignatura (self ):
598
+ aprovisionadorDBconInterfaz .aprovisiona ()
599
+ sizeA = len (GestorAsociaciones .getProfesores ('mt' ,'1AESO' ))
600
+ sizeB = len (GestorAsociaciones .getProfesores ('fr' ,'1AESO' ))
601
+ sizeC = len (GestorAsociaciones .getProfesores ('mt' ,'1BESO' ))
602
+ os .system ('mysql -u root -p\' root\' < ../DBCreator_v0.sql' )
603
+ salida = False
604
+ if sizeA == 0 and sizeB == 2 and sizeC == 1 :
605
+ salida = True
606
+ self .assertEqual (salida ,True )
607
+
608
+
609
+
610
+ if False :
611
+
612
+ ### RELACIONES ###
519
613
520
- def test_46_ProfesoresQueImpartenEnUnCursoYAsignatura (self ):
521
- aprovisionadorDBconInterfaz .aprovisiona ()
522
- sizeA = len (GestorAsociaciones .getProfesores ('mt' ,'1AESO' ))
523
- sizeB = len (GestorAsociaciones .getProfesores ('fr' ,'1AESO' ))
524
- sizeC = len (GestorAsociaciones .getProfesores ('mt' ,'1BESO' ))
525
- os .system ('mysql -u root -p\' root\' < ../DBCreator_v0.sql' )
526
- salida = False
527
- if sizeA == 0 and sizeB == 2 and sizeC == 1 :
528
- salida = True
529
- self .assertEqual (salida ,True )
530
614
531
615
532
616
0 commit comments