SEL and MUX functions

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

Test case ID: R0024
Language: ST

Code:
tests2/t0024.st
(* SEL MUX *)

PROGRAM Test1_R0024
VAR
  I0,I1,I2,I3,I4 :INT;
  S1,S2,S3,S4 :STRING;
END_VAR
  I0 := 1000;
  I1 := 10;
  I2 := SEL(TRUE,3,I1);        // I2 := 10
  I3 := SEL( I1 > 50 ,I1+25,I1+30); //  I3:=35
  I1 := 11;
  I4 := MUX(1,I0,I1,I2,I3);   // I4:=I1 := 11;
  S1 := 'Hello';
  S2 := SEL(TRUE,'Bye',S1); // s2: = 'Hello'
  S1 := 'Hello!!!';     
  S3 := MUX(0,'Ok',S1);    // S3:= Ok
_GEB_ASSERT_(I2 = 10);
_GEB_ASSERT_(I3 = 35);
_GEB_ASSERT_(I4 = 11);
_GEB_ASSERT_(S2 = 'Hello');
_GEB_ASSERT_(S3 = 'Ok');
END_PROGRAM