Nested structures with initialization

This test case it part of the test suite proposed for new devices.

Test case ID: R0010
Language: ST

Code:
tests2/t0010.st
PROGRAM T0010

TYPE 
    INT2Z : INT := 2;
    
    SA: STRUCT
            A1 : INT2Z := 1; 
            A2 : INT2Z;
            A3 : INT := 3;
    END_STRUCT;
         
    SB: STRUCT
            B1 : INT := 101; 
            B2 : INT := 102;
            BA : SA;
    END_STRUCT;
END_TYPE 

VAR
    ia : SA;
    ib : SB;
    i : INT2Z;
END_VAR

    ia.A2 :=  ia.A1 + ia.A2 + 1000;
    ib.BA.A1 := ib.BA.A2 + ib.BA.A1 +15; // 18

    _GEB_ASSERT_( i = 2);
    _GEB_ASSERT_( ia.A1 = 1);
    _GEB_ASSERT_( ia.A2 = 1003);
    _GEB_ASSERT_( ia.A3 = 3);
    _GEB_ASSERT_( ib.B1 = 101);
    _GEB_ASSERT_( ib.B2 = 102);
    _GEB_ASSERT_( ib.BA.A1 = 18);
    _GEB_ASSERT_( ib.BA.A2 = 2);
    _GEB_ASSERT_( ib.BA.A3 = 3);

END_PROGRAM