/trunk/Examples/test-suite/octave/unions_runme.m
MATLAB | 49 lines | 38 code | 11 blank | 0 comment | 7 complexity | eb5f9236f4721e9773924261d7c6b97e MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- # This is the union runtime testcase. It ensures that values within a
- # union embedded within a struct can be set and read correctly.
- unions
- # Create new instances of SmallStruct and BigStruct for later use
- small = unions.SmallStruct();
- small.jill = 200;
- big = unions.BigStruct();
- big.smallstruct = small;
- big.jack = 300;
- # Use SmallStruct then BigStruct to setup EmbeddedUnionTest.
- # Ensure values in EmbeddedUnionTest are set correctly for each.
- eut = unions.EmbeddedUnionTest();
- # First check the SmallStruct in EmbeddedUnionTest
- eut.number = 1;
- eut.uni.small = small;
- Jill1 = eut.uni.small.jill;
- if (Jill1 != 200)
- error("Runtime test1 failed. eut.uni.small.jill=%i" , Jill1)
- endif
- Num1 = eut.number;
- if (Num1 != 1)
- error("Runtime test2 failed. eut.number=%i" , Num1)
- endif
- # Secondly check the BigStruct in EmbeddedUnionTest
- eut.number = 2;
- eut.uni.big = big;
- Jack1 = eut.uni.big.jack;
- if (Jack1 != 300)
- error("Runtime test3 failed. eut.uni.big.jack=%i" , Jack1)
- endif
- Jill2 = eut.uni.big.smallstruct.jill;
- if (Jill2 != 200)
- error("Runtime test4 failed. eut.uni.big.smallstruct.jill=%i" , Jill2)
- endif
- Num2 = eut.number;
- if (Num2 != 2)
- error("Runtime test5 failed. eut.number=%i" , Num2)
- endif