using System.Collections.Generic;
public DateTime FechaDeExpedicionDelCarnetDeConducir;
public int AñosMinimosConCarnetDeConducir;
public string MatriculaCoche;
public Reserva( int IdUsuario, string MatriculaCoche ) {
Id = new Random().Next(4, 100);
this.IdUsuario = IdUsuario;
this.MatriculaCoche = MatriculaCoche;
public class GestorDeReservas
public List<Reserva> reservas;
public GestorDeReservas() {}
public void NuevaReserva( DateTime fecha, Usuario usuario, Coche coche )
public static void Test1( GestorDeReservas gestor )
Console.WriteLine( "[TEST 1]" );
new DateTime( 2019, 8, 23 ),
FechaDeExpedicionDelCarnetDeConducir = new DateTime( 2005, 1, 24 )
AñosMinimosConCarnetDeConducir = 0
public static void Test2( GestorDeReservas gestor )
Console.WriteLine( "[TEST 2]" );
new DateTime( 2019, 8, 23 ),
FechaDeExpedicionDelCarnetDeConducir = new DateTime( 2018, 8, 17 )
AñosMinimosConCarnetDeConducir = 3
public static void Test3( GestorDeReservas gestor )
Console.WriteLine( "[TEST 3]" );
new DateTime( 2019, 8, 23 ),
FechaDeExpedicionDelCarnetDeConducir = new DateTime(2002,5,29)
AñosMinimosConCarnetDeConducir = 0
public static void Main()
var gestor = new GestorDeReservas() { reservas = new List<Reserva>() {
Fecha = new DateTime( 2018, 1, 24 ),
Fecha = new DateTime( 2019, 8, 23 ),
RunTest( () => Test1( gestor ) );
RunTest( () => Test2( gestor ) );
RunTest( () => Test3( gestor ) );
public static void RunTest( Action test )
try { test(); Console.WriteLine( "Todo ok" ); }
catch ( Exception e ) { Console.WriteLine( "Excepcion: " + e.Message ); }
finally { Console.WriteLine(); }