1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105:
| procedure TestAZeile.TestDatumParsen; var Expected, Actual: TDateTime; begin Expected := EncodeDate(2008, 11, 10); Actual := DatumParsen('10.11.2008', 'DD.MM.YYYY'); CheckEquals(Expected, Actual, 'Das Datum 10.11.2008 wurde nicht korrekt geparsed!');
Actual := DatumParsen('10.11.08', 'DD.MM.YY'); CheckEquals(Expected, Actual, 'Das Datum 10.11.08 wurde nicht korrekt geparsed!');
Actual := DatumParsen('101108', 'DDMMYY'); CheckEquals(Expected, Actual, 'Das Datum 101108 wurde nicht korrekt geparsed!');
Actual := DatumParsen('10112008', 'DDMMYYYY'); CheckEquals(Expected, Actual, 'Das Datum 10112008 wurde nicht korrekt geparsed!');
Actual := DatumParsen('10/11/2008', 'DD/MM/YYYY'); CheckEquals(Expected, Actual, 'Das Datum 10/11/2008 wurde nicht korrekt geparsed!');
Expected := EncodeDate(1999, 11, 10); Actual := DatumParsen('10.11.99', 'DD.MM.YY'); CheckEquals(Expected, Actual, 'Das Jahr 99 wurde nicht als 1999 aufgefasst.');
try DatumParsen('01/13/2008', 'DD/MM/YYYY'); Fail('Das Datum 01/13/2008 ist nicht als falsch erkannt worden!'); except end;
try DatumParsen('80/80/2008', 'DD/MM/YYYY'); Fail('Das Datum 80/80/2008 ist nicht als falsch erkannt worden!'); except end;
try DatumParsen('01.01.2008', 'DD.MM.YYYY'); Fail('Das Datum 01.01.2008 (beim Format DD/MM/YYYY) ist nicht als falsch erkannt worden!'); except end;
try DatumParsen('31.02.2008', 'DD.MM.YYYY'); Fail('Das Datum 31.02.2008 ist nicht als falsch erkannt worden!'); except end;
Expected := EncodeDate(2008, 02, 29); Actual := DatumParsen('29.02.2008', 'DD.MM.YYYY'); CheckEquals(Expected, Actual, 'Das Datum 29.02.2008 wurde nicht korrekt geparsed!');
try DatumParsen('29.02.2006', 'DD.MM.YYYY'); Fail('Das Datum 29.02.2006 ist nicht als falsch erkannt worden!'); except end;
try DatumParsen('29.02.1900', 'DD.MM.YYYY'); Fail('Das Datum 29.02.1900 ist nicht als falsch erkannt worden!'); except end;
Expected := EncodeDate(2008, 02, 29); Actual := DatumParsen('2008-02-29', 'YYYY-MM-DD'); CheckEquals(Expected, Actual, 'Das Datum 2008-02-29 wurde nicht korrekt geparsed!');
Actual := DatumParsen('08-02-29', 'YY-MM-DD'); CheckEquals(Expected, Actual, 'Das Datum 08-02-29 wurde nicht korrekt geparsed!');
try DatumParsen('1900.02.01', 'YYYY-MM.DD'); Fail('Der falsche Trenner wurde nicht erkannt!'); except end;
try DatumParsen('12.12', 'DD.MM.YYYY'); Fail('Die unterschiedliche Länge wurde nicht erkannt!'); except end;
try DatumParsen('12.12.1900 1212', 'DD.MM.YYYY MMDD'); Fail('Die wiederkehrenden Bezeichner wurden nicht korrekt erkannt!'); except end;
Expected := Date; Actual := DatumParsen('', ''); CheckEquals(Expected, Actual, 'Das Datum <Heute> wurde nicht korrekt erkannt!');
Expected := EncodeDate(3000, 02, 01); Actual := DatumParsen('3000-02-01', 'YYYY-MM-DD'); CheckEquals(Expected, Actual, 'Das Datum 3000-02-01 wurde nicht korrekt erkannt!');
Expected := EncodeDate(9999, 02, 01); Actual := DatumParsen('9999-02-01', 'YYYY-MM-DD'); CheckEquals(Expected, Actual, 'Das Datum 9999-02-01 wurde nicht korrekt erkannt!');
Expected := EncodeDate(2008, 01, 31); Actual := DatumParsen('31-01-2008', 'DD-MM-YYYY'); CheckEquals(Expected, Actual, 'Das Datum 31-01-2008 wurde nicht korrekt erkannt!'); end; |