Initialization of primitive types

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

Test case ID: R0020
Language: ST

Code:
tests2/t0020.st

PROGRAM TestVinit_R0020

TYPE 
    TR : REAL := 42.0;    
END_TYPE 

VAR
    si : SINT    := SINT#-8;
    i : INT        := -16;
    j : INT;
    di : DINT    := DINT#-32;
    li : LINT    := LINT#-64;
    usi : USINT    := USINT#8;
    ui : UINT    := UINT#16;
    udi : UDINT    := UDINT#32;
    uli : ULINT    := ULINT#64;
    
    r : REAL     :=     0.123456789;
    
    tr : TR;
    tr2 : TR := 43.21;
    
    b : BOOL := TRUE;
END_VAR
VAR_TEMP    
    lr : LREAL    :=    LREAL#0.123456789;
    r2 : REAL     :=     42.00;
END_VAR    

i := i + 0;

_GEB_ASSERT_(j = 0);
_GEB_ASSERT_(b = 1);
_GEB_MSG_(INT_TO_STRING(j));
 j := 15;
_GEB_ASSERT_(di = -32);
_GEB_ASSERT_(i = -16);
_GEB_ASSERT_(li = -64);
_GEB_ASSERT_EQDOUBLE_(lr , LREAL#0.123456789);
_GEB_ASSERT_EQFLOAT_(r , REAL#0.123456789);
_GEB_ASSERT_EQFLOAT_(r2 , REAL#42.0);
_GEB_ASSERT_(si = -8);
_GEB_ASSERT_EQFLOAT_(tr , 42.0);
_GEB_ASSERT_EQFLOAT_(tr2 , 43.21);
_GEB_ASSERT_(udi = 32);
_GEB_ASSERT_(ui = 16);
_GEB_ASSERT_(uli = 64);
_GEB_ASSERT_(usi = 8);

END_PROGRAM