FUNDAMENTOS DE PROGRAMACIÓN: TRABAJO PRÁCTICO OBLIGATORIO CASO DE APLICACIÓN: GESTIÓN DE UNIVERSIDADES (ENTREGA 3) Curso: 2013/14 Versión: 1.0.1 ANEXO I: PRUEBAS DE LA CLASE FACTORIAGRADOS A continuación se sugiere un conjunto mínimo de pruebas que los alumnos deberán realizar para verificar la corrección de su implementación de la clase FactoriaGrados. No obstante, el alumno puede añadir cuantas pruebas considere necesarias además de las aquí sugeridas. Realice las pruebas en una clase TestFactoriaGrados en el paquete fp.tipos.grados.test. Se recomienda implementar cada una de las pruebas como un método estático independiente, de manera que el método main() se componga de una secuencia de llamadas a dichos métodos. 1. Consulte los valores de las propiedades poblacionales de la factoría, antes de crear ningún objeto, y muéstrelos por pantalla. Compruebe que los valores obtenidos son correctos (cero objetos de cada uno de los tipos, conjunto de asignaturas comunes vacío). 2. Cree una asignatura haciendo uso de la factoría, con valores correctos en sus propiedades. Muestre por pantalla el objeto recién creado. Muestre por pantalla la propiedad poblacional correspondiente al número de asignaturas creadas. Compruebe que el valor es 1. 3. Intente crear otra asignatura haciendo uso de la factoría, violando voluntariamente alguna de las restricciones del tipo Asignatura. Capture la excepción que se debe producir, haciendo uso de un bloque try…catch. Cuando capture la excepción, muestre un mensaje informando de ello. Finalmente, muestre el valor de la propiedad poblacional correspondiente al número de asignaturas creadas. Al ejecutar la prueba, debe observar que efectivamente se produjo y se capturó una excepción, y que el valor de la propiedad poblacional sigue siendo 1, puesto que el objeto no se ha llegado a crear correctamente. 4. Intente crear otra asignatura haciendo uso de la factoría. En este caso utilice valores correctos para las propiedades, pero use el mismo código de asignatura que utilizó en el apartado 1. Capture la excepción ExcepcionAsignaturaNoValida que se debe producir, haciendo uso de un bloque try…catch. Cuando capture la excepción, muestre un mensaje informando de ello. Finalmente, muestre el valor de la propiedad poblacional correspondiente al número de asignaturas creadas. Al ejecutar la prueba, debe observar que efectivamente se produjo y se capturó una excepción, y que el valor de la propiedad poblacional sigue siendo 1, puesto que el objeto no se ha llegado a crear correctamente. 5. Cree un alumno haciendo uso de la factoría. Utilice valores correctos para las propiedades. Muestre por pantalla el objeto recién creado. Muestre por pantalla el valor de la propiedad poblacional correspondiente al número de alumnos creados. Compruebe que el valor es 1. 6. Intente crear otro alumno haciendo uso de la factoría, violando voluntariamente alguna de las restricciones del tipo Alumno. Capture la excepción que se debe producir, haciendo uso de un bloque try…catch. Cuando capture la excepción, muestre un mensaje informando de ello. Finalmente, muestre el valor de la propiedad poblacional correspondiente al número de alumnos creados. Al ejecutar la prueba, debe observar que efectivamente se produjo y se capturó una excepción, y que el valor de la propiedad poblacional sigue siendo 1, puesto que el objeto no se ha llegado a crear correctamente. 7. Cree otro alumno que sea una copia del alumno creado en el apartado 5 haciendo uso de la factoría. Muestre por pantalla el objeto recién creado. Muestre por pantalla el valor de la propiedad poblacional correspondiente al número de alumnos creados. Compruebe que el valor es 2. 8. Compruebe que el alumno que acaba de crear está matriculado de las mismas asignaturas que el alumno sobre el que se ha realizado la copia. Puede hacer esto mostrando por pantalla las asignaturas de cada uno de los alumnos. Trabajo Práctico Obligatorio: Gestión de Universidades (Entrega 3) 2 9. Cree mediante la factoría otras 5 asignaturas, con valores correctos en sus propiedades. Muestre por pantalla el valor de la propiedad poblacional correspondiente al número de asignaturas creadas, cuyo valor debe ser 6. 10. Cree mediante la factoría un grado, usando 3 de las asignaturas anteriores como asignaturas obligatorias y otras 3 asignaturas distintas a las anteriores como asignaturas optativas. Recuerde que las asignaturas optativas deben tener el mismo número de créditos. Utilice valores correctos para el resto de propiedades del grado. 11. Cree un segundo grado mediante la factoría. Utilice ahora una de las asignaturas optativas anteriores como única asignatura obligatoria del nuevo grado, y las otras dos asignaturas optativas como asignaturas optativas del nuevo grado. Utilice valores correctos para el resto de propiedades del grado. 12. Muestre por pantalla los valores de las propiedades poblacionales correspondientes al número de grados (debe ser 2) y a las asignaturas comunes (deben ser las tres asignaturas comunes a los dos grados creados).