/*----------------------------------------------------------------------------------
 Tests date format adjustments for variable declarations in OpenEdge
 ABL across a limited subset of all possible format permutations for the six
 SESSION:DATE-FORMAT settings.

 Only formats with components "99" and/or "9999" are tested in this class (e.g.,
 "99.99.99", "9999.99.9999", "99/9999.99").
----------------------------------------------------------------------------------*/
ROUTINE-LEVEL ON ERROR UNDO, THROW.

USING OpenEdge.Core.Assert.

CLASS unittests.gui.fillin.date.adjustment.TestDateFormatDeclarationAdjustment:

    METHOD PRIVATE VOID testFormatAdjustment(INPUT expected AS CHARACTER EXTENT 72):
        DEFINE VARIABLE d01 AS DATE NO-UNDO FORMAT "99.99.99".
        DEFINE VARIABLE d02 AS DATE NO-UNDO FORMAT "99.99/99".
        DEFINE VARIABLE d03 AS DATE NO-UNDO FORMAT "99.99-99".
        DEFINE VARIABLE d04 AS DATE NO-UNDO FORMAT "99/99.99".
        DEFINE VARIABLE d05 AS DATE NO-UNDO FORMAT "99/99/99".
        DEFINE VARIABLE d06 AS DATE NO-UNDO FORMAT "99/99-99".
        DEFINE VARIABLE d07 AS DATE NO-UNDO FORMAT "99-99.99".
        DEFINE VARIABLE d08 AS DATE NO-UNDO FORMAT "99-99/99".
        DEFINE VARIABLE d09 AS DATE NO-UNDO FORMAT "99-99-99".
        DEFINE VARIABLE d10 AS DATE NO-UNDO FORMAT "99.99.9999".
        DEFINE VARIABLE d11 AS DATE NO-UNDO FORMAT "99.99/9999".
        DEFINE VARIABLE d12 AS DATE NO-UNDO FORMAT "99.99-9999".
        DEFINE VARIABLE d13 AS DATE NO-UNDO FORMAT "99/99.9999".
        DEFINE VARIABLE d14 AS DATE NO-UNDO FORMAT "99/99/9999".
        DEFINE VARIABLE d15 AS DATE NO-UNDO FORMAT "99/99-9999".
        DEFINE VARIABLE d16 AS DATE NO-UNDO FORMAT "99-99.9999".
        DEFINE VARIABLE d17 AS DATE NO-UNDO FORMAT "99-99/9999".
        DEFINE VARIABLE d18 AS DATE NO-UNDO FORMAT "99-99-9999".
        DEFINE VARIABLE d19 AS DATE NO-UNDO FORMAT "99.9999.99".
        DEFINE VARIABLE d20 AS DATE NO-UNDO FORMAT "99.9999/99".
        DEFINE VARIABLE d21 AS DATE NO-UNDO FORMAT "99.9999-99".
        DEFINE VARIABLE d22 AS DATE NO-UNDO FORMAT "99/9999.99".
        DEFINE VARIABLE d23 AS DATE NO-UNDO FORMAT "99/9999/99".
        DEFINE VARIABLE d24 AS DATE NO-UNDO FORMAT "99/9999-99".
        DEFINE VARIABLE d25 AS DATE NO-UNDO FORMAT "99-9999.99".
        DEFINE VARIABLE d26 AS DATE NO-UNDO FORMAT "99-9999/99".
        DEFINE VARIABLE d27 AS DATE NO-UNDO FORMAT "99-9999-99".
        DEFINE VARIABLE d28 AS DATE NO-UNDO FORMAT "99.9999.9999".
        DEFINE VARIABLE d29 AS DATE NO-UNDO FORMAT "99.9999/9999".
        DEFINE VARIABLE d30 AS DATE NO-UNDO FORMAT "99.9999-9999".
        DEFINE VARIABLE d31 AS DATE NO-UNDO FORMAT "99/9999.9999".
        DEFINE VARIABLE d32 AS DATE NO-UNDO FORMAT "99/9999/9999".
        DEFINE VARIABLE d33 AS DATE NO-UNDO FORMAT "99/9999-9999".
        DEFINE VARIABLE d34 AS DATE NO-UNDO FORMAT "99-9999.9999".
        DEFINE VARIABLE d35 AS DATE NO-UNDO FORMAT "99-9999/9999".
        DEFINE VARIABLE d36 AS DATE NO-UNDO FORMAT "99-9999-9999".
        DEFINE VARIABLE d37 AS DATE NO-UNDO FORMAT "9999.99.99".
        DEFINE VARIABLE d38 AS DATE NO-UNDO FORMAT "9999.99/99".
        DEFINE VARIABLE d39 AS DATE NO-UNDO FORMAT "9999.99-99".
        DEFINE VARIABLE d40 AS DATE NO-UNDO FORMAT "9999/99.99".
        DEFINE VARIABLE d41 AS DATE NO-UNDO FORMAT "9999/99/99".
        DEFINE VARIABLE d42 AS DATE NO-UNDO FORMAT "9999/99-99".
        DEFINE VARIABLE d43 AS DATE NO-UNDO FORMAT "9999-99.99".
        DEFINE VARIABLE d44 AS DATE NO-UNDO FORMAT "9999-99/99".
        DEFINE VARIABLE d45 AS DATE NO-UNDO FORMAT "9999-99-99".
        DEFINE VARIABLE d46 AS DATE NO-UNDO FORMAT "9999.99.9999".
        DEFINE VARIABLE d47 AS DATE NO-UNDO FORMAT "9999.99/9999".
        DEFINE VARIABLE d48 AS DATE NO-UNDO FORMAT "9999.99-9999".
        DEFINE VARIABLE d49 AS DATE NO-UNDO FORMAT "9999/99.9999".
        DEFINE VARIABLE d50 AS DATE NO-UNDO FORMAT "9999/99/9999".
        DEFINE VARIABLE d51 AS DATE NO-UNDO FORMAT "9999/99-9999".
        DEFINE VARIABLE d52 AS DATE NO-UNDO FORMAT "9999-99.9999".
        DEFINE VARIABLE d53 AS DATE NO-UNDO FORMAT "9999-99/9999".
        DEFINE VARIABLE d54 AS DATE NO-UNDO FORMAT "9999-99-9999".
        DEFINE VARIABLE d55 AS DATE NO-UNDO FORMAT "9999.9999.99".
        DEFINE VARIABLE d56 AS DATE NO-UNDO FORMAT "9999.9999/99".
        DEFINE VARIABLE d57 AS DATE NO-UNDO FORMAT "9999.9999-99".
        DEFINE VARIABLE d58 AS DATE NO-UNDO FORMAT "9999/9999.99".
        DEFINE VARIABLE d59 AS DATE NO-UNDO FORMAT "9999/9999/99".
        DEFINE VARIABLE d60 AS DATE NO-UNDO FORMAT "9999/9999-99".
        DEFINE VARIABLE d61 AS DATE NO-UNDO FORMAT "9999-9999.99".
        DEFINE VARIABLE d62 AS DATE NO-UNDO FORMAT "9999-9999/99".
        DEFINE VARIABLE d63 AS DATE NO-UNDO FORMAT "9999-9999-99".
        DEFINE VARIABLE d64 AS DATE NO-UNDO FORMAT "9999.9999.9999".
        DEFINE VARIABLE d65 AS DATE NO-UNDO FORMAT "9999.9999/9999".
        DEFINE VARIABLE d66 AS DATE NO-UNDO FORMAT "9999.9999-9999".
        DEFINE VARIABLE d67 AS DATE NO-UNDO FORMAT "9999/9999.9999".
        DEFINE VARIABLE d68 AS DATE NO-UNDO FORMAT "9999/9999/9999".
        DEFINE VARIABLE d69 AS DATE NO-UNDO FORMAT "9999/9999-9999".
        DEFINE VARIABLE d70 AS DATE NO-UNDO FORMAT "9999-9999.9999".
        DEFINE VARIABLE d71 AS DATE NO-UNDO FORMAT "9999-9999/9999".
        DEFINE VARIABLE d72 AS DATE NO-UNDO FORMAT "9999-9999-9999".

        DEFINE FRAME myFrame
            d01 d02 d03 d04 d05 d06 d07 d08 d09 d10
            d11 d12 d13 d14 d15 d16 d17 d18 d19 d20
            d21 d22 d23 d24 d25 d26 d27 d28 d29 d30
            d31 d32 d33 d34 d35 d36 d37 d38 d39 d40
            d41 d42 d43 d44 d45 d46 d47 d48 d49 d50
            d51 d52 d53 d54 d55 d56 d57 d58 d59 d60
            d61 d62 d63 d64 d65 d66 d67 d68 d69 d70
            d71 d72
            WITH NO-LABELS NO-BOX.

        Assert:Equals(expected[01], d01:FORMAT).      // Declared: 99.99.99
        Assert:Equals(expected[02], d02:FORMAT).      // Declared: 99.99/99
        Assert:Equals(expected[03], d03:FORMAT).      // Declared: 99.99-99
        Assert:Equals(expected[04], d04:FORMAT).      // Declared: 99/99.99
        Assert:Equals(expected[05], d05:FORMAT).      // Declared: 99/99/99
        Assert:Equals(expected[06], d06:FORMAT).      // Declared: 99/99-99
        Assert:Equals(expected[07], d07:FORMAT).      // Declared: 99-99.99
        Assert:Equals(expected[08], d08:FORMAT).      // Declared: 99-99/99
        Assert:Equals(expected[09], d09:FORMAT).      // Declared: 99-99-99
        Assert:Equals(expected[10], d10:FORMAT).    // Declared: 99.99.9999
        Assert:Equals(expected[11], d11:FORMAT).    // Declared: 99.99/9999
        Assert:Equals(expected[12], d12:FORMAT).    // Declared: 99.99-9999
        Assert:Equals(expected[13], d13:FORMAT).    // Declared: 99/99.9999
        Assert:Equals(expected[14], d14:FORMAT).    // Declared: 99/99/9999
        Assert:Equals(expected[15], d15:FORMAT).    // Declared: 99/99-9999
        Assert:Equals(expected[16], d16:FORMAT).    // Declared: 99-99.9999
        Assert:Equals(expected[17], d17:FORMAT).    // Declared: 99-99/9999
        Assert:Equals(expected[18], d18:FORMAT).    // Declared: 99-99-9999
        Assert:Equals(expected[19], d19:FORMAT).    // Declared: 99.9999.99
        Assert:Equals(expected[20], d20:FORMAT).    // Declared: 99.9999/99
        Assert:Equals(expected[21], d21:FORMAT).    // Declared: 99.9999-99
        Assert:Equals(expected[22], d22:FORMAT).    // Declared: 99/9999.99
        Assert:Equals(expected[23], d23:FORMAT).    // Declared: 99/9999/99
        Assert:Equals(expected[24], d24:FORMAT).    // Declared: 99/9999-99
        Assert:Equals(expected[25], d25:FORMAT).    // Declared: 99-9999.99
        Assert:Equals(expected[26], d26:FORMAT).    // Declared: 99-9999/99
        Assert:Equals(expected[27], d27:FORMAT).    // Declared: 99-9999-99
        Assert:Equals(expected[28], d28:FORMAT).  // Declared: 99.9999.9999
        Assert:Equals(expected[29], d29:FORMAT).  // Declared: 99.9999/9999
        Assert:Equals(expected[30], d30:FORMAT).  // Declared: 99.9999-9999
        Assert:Equals(expected[31], d31:FORMAT).  // Declared: 99/9999.9999
        Assert:Equals(expected[32], d32:FORMAT).  // Declared: 99/9999/9999
        Assert:Equals(expected[33], d33:FORMAT).  // Declared: 99/9999-9999
        Assert:Equals(expected[34], d34:FORMAT).  // Declared: 99-9999.9999
        Assert:Equals(expected[35], d35:FORMAT).  // Declared: 99-9999/9999
        Assert:Equals(expected[36], d36:FORMAT).  // Declared: 99-9999-9999
        Assert:Equals(expected[37], d37:FORMAT).    // Declared: 9999.99.99
        Assert:Equals(expected[38], d38:FORMAT).    // Declared: 9999.99/99
        Assert:Equals(expected[39], d39:FORMAT).    // Declared: 9999.99-99
        Assert:Equals(expected[40], d40:FORMAT).    // Declared: 9999/99.99
        Assert:Equals(expected[41], d41:FORMAT).    // Declared: 9999/99/99
        Assert:Equals(expected[42], d42:FORMAT).    // Declared: 9999/99-99
        Assert:Equals(expected[43], d43:FORMAT).    // Declared: 9999-99.99
        Assert:Equals(expected[44], d44:FORMAT).    // Declared: 9999-99/99
        Assert:Equals(expected[45], d45:FORMAT).    // Declared: 9999-99-99
        Assert:Equals(expected[46], d46:FORMAT).  // Declared: 9999.99.9999
        Assert:Equals(expected[47], d47:FORMAT).  // Declared: 9999.99/9999
        Assert:Equals(expected[48], d48:FORMAT).  // Declared: 9999.99-9999
        Assert:Equals(expected[49], d49:FORMAT).  // Declared: 9999/99.9999
        Assert:Equals(expected[50], d50:FORMAT).  // Declared: 9999/99/9999
        Assert:Equals(expected[51], d51:FORMAT).  // Declared: 9999/99-9999
        Assert:Equals(expected[52], d52:FORMAT).  // Declared: 9999-99.9999
        Assert:Equals(expected[53], d53:FORMAT).  // Declared: 9999-99/9999
        Assert:Equals(expected[54], d54:FORMAT).  // Declared: 9999-99-9999
        Assert:Equals(expected[55], d55:FORMAT).  // Declared: 9999.9999.99
        Assert:Equals(expected[56], d56:FORMAT).  // Declared: 9999.9999/99
        Assert:Equals(expected[57], d57:FORMAT).  // Declared: 9999.9999-99
        Assert:Equals(expected[58], d58:FORMAT).  // Declared: 9999/9999.99
        Assert:Equals(expected[59], d59:FORMAT).  // Declared: 9999/9999/99
        Assert:Equals(expected[60], d60:FORMAT).  // Declared: 9999/9999-99
        Assert:Equals(expected[61], d61:FORMAT).  // Declared: 9999-9999.99
        Assert:Equals(expected[62], d62:FORMAT).  // Declared: 9999-9999/99
        Assert:Equals(expected[63], d63:FORMAT).  // Declared: 9999-9999-99
        Assert:Equals(expected[64], d64:FORMAT). // Declared: 9999.9999.9999
        Assert:Equals(expected[65], d65:FORMAT). // Declared: 9999.9999/9999
        Assert:Equals(expected[66], d66:FORMAT). // Declared: 9999.9999-9999
        Assert:Equals(expected[67], d67:FORMAT). // Declared: 9999/9999.9999
        Assert:Equals(expected[68], d68:FORMAT). // Declared: 9999/9999/9999
        Assert:Equals(expected[69], d69:FORMAT). // Declared: 9999/9999-9999
        Assert:Equals(expected[70], d70:FORMAT). // Declared: 9999-9999.9999
        Assert:Equals(expected[71], d71:FORMAT). // Declared: 9999-9999/9999
        Assert:Equals(expected[72], d72:FORMAT). // Declared: 9999-9999-9999
    END METHOD.

    @Test.
    METHOD PUBLIC VOID testMdyFormatAdjustment():
        DEFINE VARIABLE expected AS CHARACTER EXTENT 72 NO-UNDO INITIAL [
        "99.99.99", "99.99/99", "99.99-99", "99/99.99", "99/99/99", "99/99-99",
        "99-99.99", "99-99/99", "99-99-99", "99.99.9999", "99.99/9999", "99.99-9999",
        "99/99.9999", "99/99/9999", "99/99-9999", "99-99.9999", "99-99/9999", "99-99-9999",
        "99.99.9999", "99.99/9999", "99.99-9999", "99/99.9999", "99/99/9999", "99/99-9999",
        "99-99.9999", "99-99/9999", "99-99-9999", "99.9999.9999", "99.9999/9999", "99.9999-9999",
        "99/9999.9999", "99/9999/9999", "99/9999-9999", "99-9999.9999", "99-9999/9999", "99-9999-9999",
        "99.99.9999", "99.99/9999", "99.99-9999", "99/99.9999", "99/99/9999", "99/99-9999",
        "99-99.9999", "99-99/9999", "99-99-9999", "9999.99.9999", "9999.99/9999", "9999.99-9999",
        "9999/99.9999", "9999/99/9999", "9999/99-9999", "9999-99.9999", "9999-99/9999", "9999-99-9999",
        "9999.9999.99", "9999.9999/99", "9999.9999-99", "9999/9999.99", "9999/9999/99", "9999/9999-99",
        "9999-9999.99", "9999-9999/99", "9999-9999-99", "9999.9999.9999", "9999.9999/9999", "9999.9999-9999",
        "9999/9999.9999", "9999/9999/9999", "9999/9999-9999", "9999-9999.9999", "9999-9999/9999", "9999-9999-9999"
        ].
        
        SESSION:DATE-FORMAT = "mdy".
        testFormatAdjustment(expected).
    END METHOD.

    @Test.
    METHOD PUBLIC VOID testDmyFormatAdjustment():
        DEFINE VARIABLE expected AS CHARACTER EXTENT 72 NO-UNDO INITIAL [
        "99.99.99", "99.99/99", "99.99-99", "99/99.99", "99/99/99", "99/99-99",
        "99-99.99", "99-99/99", "99-99-99", "99.99.9999", "99.99/9999", "99.99-9999", "99/99.9999",
        "99/99/9999", "99/99-9999", "99-99.9999", "99-99/9999", "99-99-9999", "99.99.9999",
        "99/99.9999", "99-99.9999", "99.99/9999", "99/99/9999", "99-99/9999", "99.99-9999",
        "99/99-9999", "99-99-9999", "99.9999.9999", "99.9999/9999", "99.9999-9999", "99/9999.9999",
        "99/9999/9999", "99/9999-9999", "99-9999.9999", "99-9999/9999", "99-9999-9999", "99.99.9999",
        "99/99.9999", "99-99.9999", "99.99/9999", "99/99/9999", "99-99/9999", "99.99-9999",
        "99/99-9999", "99-99-9999", "9999.99.9999", "9999.99/9999", "9999.99-9999", "9999/99.9999",
        "9999/99/9999", "9999/99-9999", "9999-99.9999", "9999-99/9999", "9999-99-9999", "9999.9999.99",
        "9999.9999/99", "9999.9999-99", "9999/9999.99", "9999/9999/99", "9999/9999-99", "9999-9999.99",
        "9999-9999/99", "9999-9999-99", "9999.9999.9999", "9999.9999/9999", "9999.9999-9999", "9999/9999.9999",
        "9999/9999/9999", "9999/9999-9999", "9999-9999.9999", "9999-9999/9999", "9999-9999-9999"
        ].
        
        SESSION:DATE-FORMAT = "dmy".
        testFormatAdjustment(expected).
    END METHOD.

    @Test.
    METHOD PUBLIC VOID testYmdFormatAdjustment():
        DEFINE VARIABLE expected AS CHARACTER EXTENT 72 NO-UNDO INITIAL [
        "99.99.99", "99.99/99", "99.99-99", "99/99.99", "99/99/99", "99/99-99",
        "99-99.99", "99-99/99", "99-99-99", "9999.99.99", "9999/99.99", "9999-99.99",
        "9999.99/99", "9999/99/99", "9999-99/99", "9999.99-99", "9999/99-99", "9999-99-99",
        "9999.99.99", "9999/99.99", "9999-99.99", "9999.99/99", "9999/99/99", "9999-99/99",
        "9999.99-99", "9999/99-99", "9999-99-99", "99.9999.9999", "99.9999/9999", "99.9999-9999",
        "99/9999.9999", "99/9999/9999", "99/9999-9999", "99-9999.9999", "99-9999/9999", "99-9999-9999",
        "9999.99.99", "9999.99/99", "9999.99-99", "9999/99.99", "9999/99/99", "9999/99-99",
        "9999-99.99", "9999-99/99", "9999-99-99", "9999.99.9999", "9999.99/9999", "9999.99-9999",
        "9999/99.9999", "9999/99/9999", "9999/99-9999", "9999-99.9999", "9999-99/9999", "9999-99-9999",
        "9999.9999.99", "9999.9999/99", "9999.9999-99", "9999/9999.99", "9999/9999/99", "9999/9999-99",
        "9999-9999.99", "9999-9999/99", "9999-9999-99", "9999.9999.9999", "9999.9999/9999", "9999.9999-9999",
        "9999/9999.9999", "9999/9999/9999", "9999/9999-9999", "9999-9999.9999", "9999-9999/9999", "9999-9999-9999"
        ].
        
        SESSION:DATE-FORMAT = "ymd".
        testFormatAdjustment(expected).

    END METHOD.

    @Test.
    METHOD PUBLIC VOID testMydFormatAdjustment():
        DEFINE VARIABLE expected AS CHARACTER EXTENT 72 NO-UNDO INITIAL [
        "99.99.99",
        "99.99/99",
        "99.99-99",
        "99/99.99",
        "99/99/99",
        "99/99-99",
        "99-99.99",
        "99-99/99",
        "99-99-99",
        "99.9999.99",
        "99.9999/99",
        "99.9999-99",
        "99/9999.99",
        "99/9999/99",
        "99/9999-99",
        "99-9999.99",
        "99-9999/99",
        "99-9999-99",
        "99.9999.99",
        "99.9999/99",
        "99.9999-99",
        "99/9999.99", "99/9999/99", "99/9999-99",
        "99-9999.99", "99-9999/99", "99-9999-99", "99.9999.9999", "99.9999/9999", "99.9999-9999",
        "99/9999.9999", "99/9999/9999", "99/9999-9999", "99-9999.9999", "99-9999/9999", "99-9999-9999",
        "99.9999.99", "99.9999/99", "99.9999-99", "99/9999.99", "99/9999/99", "99/9999-99",
        "99-9999.99", "99-9999/99", "99-9999-99", "9999.99.9999", "9999.99/9999", "9999.99-9999",
        "9999/99.9999", "9999/99/9999", "9999/99-9999", "9999-99.9999", "9999-99/9999", "9999-99-9999", "9999.9999.99",
        "9999.9999/99", "9999.9999-99", "9999/9999.99", "9999/9999/99", "9999/9999-99", "9999-9999.99",
        "9999-9999/99", "9999-9999-99", "9999.9999.9999", "9999.9999/9999", "9999.9999-9999", "9999/9999.9999",
        "9999/9999/9999", "9999/9999-9999", "9999-9999.9999", "9999-9999/9999", "9999-9999-9999"
        ].
        
        SESSION:DATE-FORMAT = "myd".
        testFormatAdjustment(expected).

    END METHOD.

    @Test.
    METHOD PUBLIC VOID testDymFormatAdjustment():
        DEFINE VARIABLE expected AS CHARACTER EXTENT 72 NO-UNDO INITIAL [
        "99.99.99", "99.99/99", "99.99-99", "99/99.99", "99/99/99", "99/99-99",
        "99-99.99", "99-99/99", "99-99-99", "99.9999.99", "99/9999/99", "99-9999-99",
        "99.9999.99", "99/9999/99", "99-9999-99", "99.9999.99", "99/9999/99", "99-9999-99",
        "99.9999.99", "99.9999/99", "99.9999-99", "99/9999.99", "99/9999/99", "99/9999-99",
        "99-9999.99", "99-9999/99", "99-9999-99", "99.9999.9999", "99.9999/9999", "99.9999-9999",
        "99/9999.9999", "99/9999/9999", "99/9999-9999", "99-9999.9999", "99-9999/9999", "99-9999-9999",
        "99.9999.99", "99/9999/99", "99-9999-99", "99.9999.99", "99/9999/99", "99-9999-99",
        "99.9999.99", "99/9999/99", "99-9999-99", "9999.99.9999", "9999.99/9999", "9999.99-9999",
        "9999/99.9999", "9999/99/9999", "9999/99-9999", "9999-99.9999", "9999-99/9999", "9999-99-9999",
        "9999.9999.99", "9999.9999/99", "9999.9999-99", "9999/9999.99", "9999/9999/99", "9999/9999-99",
        "9999-9999.99", "9999-9999/99", "9999-9999-99", "9999.9999.9999", "9999.9999/9999", "9999.9999-9999",
        "9999/9999.9999", "9999/9999/9999", "9999/9999-9999", "9999-9999.9999", "9999-9999/9999", "9999-9999-9999"
        ].
        
        SESSION:DATE-FORMAT = "dym".
        testFormatAdjustment(expected).
    END METHOD.
        
    @Test.
    METHOD PUBLIC VOID testYdmFormatAdjustment():
        DEFINE VARIABLE expected AS CHARACTER EXTENT 72 NO-UNDO INITIAL [
        "99.99.99", "99.99/99", "99.99-99", "99/99.99", "99/99/99", "99/99-99",
        "99-99.99", "99-99/99", "99-99-99", "9999.99.99", "9999/99/99", "9999-99-99",
        "9999.99.99", "9999/99/99", "9999-99-99", "9999.99.99", "9999/99/99", "9999-99-99",
        "9999.99.99", "9999/99/99", "9999-99-99", "9999.99.99", "9999/99/99", "9999-99-99",
        "9999.99.99", "9999/99/99", "9999-99-99", "99.9999.9999", "99.9999/9999", "99.9999-9999",
        "99/9999.9999", "99/9999/9999", "99/9999-9999", "99-9999.9999", "99-9999/9999", "99-9999-9999",
        "9999.99.99", "9999.99/99", "9999.99-99", "9999/99.99", "9999/99/99", "9999/99-99",
        "9999-99.99", "9999-99/99", "9999-99-99", "9999.99.9999", "9999.99/9999", "9999.99-9999",
        "9999/99.9999", "9999/99/9999", "9999/99-9999", "9999-99.9999", "9999-99/9999", "9999-99-9999",
        "9999.9999.99", "9999.9999/99", "9999.9999-99", "9999/9999.99", "9999/9999/99", "9999/9999-99",
        "9999-9999.99", "9999-9999/99", "9999-9999-99", "9999.9999.9999", "9999.9999/9999", "9999.9999-9999",
        "9999/9999.9999", "9999/9999/9999", "9999/9999-9999", "9999-9999.9999", "9999-9999/9999", "9999-9999-9999"
        ].
        
        SESSION:DATE-FORMAT = "ydm".
        testFormatAdjustment(expected).

    END METHOD.
        
END CLASS.