| [module numericServices('http://www.eclipse.org/emf/2002/Ecore')/] |
| |
| [template public test(p : EPackage)] |
| [comment @main/] |
| |
| [file ('integerTests', false)] |
| [let var1 : Integer = 1] |
| [let var2 : Integer = 2] |
| @Test var2.oclAsType(Integer) => [var2.oclAsType(Integer)/] |
| @Test var2.oclIsUndefined() => [var2.oclIsUndefined()/] |
| @Test var2.oclIsTypeOf(Integer) => [var2.oclIsTypeOf(Integer)/] |
| @Test var2.oclIsTypeOf(EPackage) => [var2.oclIsTypeOf(EPackage)/] |
| @Test var2.oclIsKindOf(Integer) => [var2.oclIsKindOf(Integer)/] |
| @Test var2.oclIsKindOf(EPackage) => [var2.oclIsKindOf(EPackage)/] |
| @Test var1 = var2 => [var1 = var2/] |
| @Test var1 = var1 => [var1 = var1/] |
| @Test var1 <> var2 => [var1 <> var2/] |
| @Test var1 <> var1 => [var1 <> var1/] |
| @Test var2.toString() => [var2.toString()/] |
| @Test var1 + var2 => [var1 + var2/] |
| @Test var1 - var2 => [var1 - var2/] |
| @Test var2 - var1 => [var2 - var1/] |
| @Test var1 * var2 => [var1 * var2/] |
| @Test var1 / var2 => [var1 / var2/] |
| @Test var2 / var1 => [var2 / var1/] |
| @Test var1 < var2 => [var1 < var2/] |
| @Test var2 < var1 => [var2 < var1/] |
| @Test var1 > var2 => [var1 > var2/] |
| @Test var2 > var1 => [var2 > var1/] |
| @Test var1 <= var1 => [var1 <= var1/] |
| @Test var1 <= var2 => [var1 <= var2/] |
| @Test var2 <= var1 => [var2 <= var1/] |
| @Test var1 >= var1 => [var1 >= var1/] |
| @Test var1 >= var2 => [var1 >= var2/] |
| @Test var2 >= var1 => [var2 >= var1/] |
| @Test var1.abs() => [var1.abs()/] |
| @Test var2.abs() => [var2.abs()/] |
| @Test var1.div(var2) => [var1.div(var2)/] |
| @Test var2.div(var1) => [var2.div(var1)/] |
| @Test var1.floor() => [var1.floor()/] |
| @Test var2.floor() => [var2.floor()/] |
| @Test var1.max(var2) => [var1.max(var2)/] |
| @Test var2.max(var1) => [var2.max(var1)/] |
| @Test var1.min(var2) => [var1.min(var2)/] |
| @Test var2.min(var1) => [var2.min(var1)/] |
| @Test var1.mod(var2) => [var1.mod(var2)/] |
| @Test var2.mod(var1) => [var2.mod(var1)/] |
| @Test var1.round() => [var1.round()/] |
| @Test var2.round() => [var2.round()/] |
| @Test var1.toString() => [var1.toString()/] |
| @Test var2.toString() => [var2.toString()/] |
| @Test 1 + (2 - 1)*3 >= 4 + 2 => [1 + (2 - 1)*3 >= 4 + 2/] |
| @Test var1.oclAsSet() => [var1.oclAsSet()/] |
| [/let][/let] |
| [comment]IRRELEVANT-A4-UNSUPPORTED Integer.oclIsInvalid[/comment] |
| [comment]IRRELEVANT-A4-DIFFERS Integer.oclAsType: validation error instead of 'invalid' [1.oclAsType(String)/][/comment] |
| [/file] |
| |
| [file ('realTests', false)] |
| [let var1 : Real = 1.2] |
| [let var2 : Real = 2.3] |
| @Test var1.oclAsType(Real) => [var1.oclAsType(Real)/] |
| @Test var1.oclIsUndefined() => [var1.oclIsUndefined()/] |
| @Test var1.oclIsTypeOf(Real) => [var1.oclIsTypeOf(Real)/] |
| @Test var1.oclIsTypeOf(EPackage) => [var1.oclIsTypeOf(EPackage)/] |
| @Test var1.oclIsKindOf(Real) => [var1.oclIsKindOf(Real)/] |
| @Test var1.oclIsKindOf(EPackage) => [var1.oclIsKindOf(EPackage)/] |
| @Test var1 <> var1 => [var1 <> var1/] |
| @Test var1 <> var2 => [var1 <> var2/] |
| @Test var1 = var1 => [var1 = var1/] |
| @Test var1 = var2 => [var1 = var2/] |
| @Test var1.toString() => [var1.toString()/] |
| @Test var1 + var2 => [var1 + var2/] |
| @Test var1 - var2 => [var1 - var2/] |
| @Test var2 - var1 => [var2 - var1/] |
| @Test var1 * var2 => [var1 * var2/] |
| @Test var2 / var1 => [var2 / var1/] |
| @Test var1 / var2 => [var1 / var2/] |
| @Test var1 < var2 => [var1 < var2/] |
| @Test var2 < var1 => [var2 < var1/] |
| @Test var1 > var2 => [var1 > var2/] |
| @Test var2 > var1 => [var2 > var1/] |
| @Test var1 <= var1 => [var1 <= var1/] |
| @Test var1 <= var2 => [var1 <= var2/] |
| @Test var2 <= var1 => [var2 <= var1/] |
| @Test var1 >= var1 => [var1 >= var1/] |
| @Test var1 >= var2 => [var1 >= var2/] |
| @Test var2 >= var1 => [var2 >= var1/] |
| @Test var1.abs() => [var1.abs()/] |
| @Test var2.abs() => [var2.abs()/] |
| @Test var1.floor() => [var1.floor()/] |
| @Test var2.floor() => [var2.floor()/] |
| @Test var1.max(var2) => [var1.max(var2)/] |
| @Test var2.max(var1) => [var2.max(var1)/] |
| @Test var1.min(var2) => [var1.min(var2)/] |
| @Test var2.min(var1) => [var2.min(var1)/] |
| @Test var1.round() => [var1.round()/] |
| @Test var2.round() => [var2.round()/] |
| @Test var1.toString() => [var1.toString()/] |
| @Test var2.toString() => [var2.toString()/] |
| @Test 3.0 / 1.5 => [3.0 / 1.5/] |
| @Test 0.5 * 2.0 => [0.5 * 2.0/] |
| @Test 1.5 + (2.2 - 1.0)*3.2 >= 4.6 / 2.1 => [1.5 + (2.2 - 1.0)*3.2 >= 4.6 / 2.1/] |
| @Test var1.oclAsSet() => [var1.oclAsSet()/] |
| [/let][/let] |
| [comment]IRRELEVANT-A4-UNSUPPORTED Real.oclIsInvalid[/comment] |
| [comment]IRRELEVANT-A4-DIFFERS Real.oclAsType: validation error instead of 'invalid' [var1.oclAsType(String)/][/comment] |
| [/file] |
| |
| [comment]A4-UNSUPPORTED(LOT1) WIP https://git.eclipse.org/r/#/c/163019/ operations between Real And Integers[/comment] |
| [comment] |
| [file ('mixedTests', false)] |
| [let anInt : Integer = 1] |
| [let aReal : Real = 2.1] |
| [aReal = anInt/] |
| [anInt = aReal/] |
| [aReal <> anInt/] |
| [anInt <> aReal/] |
| [aReal > anInt/] |
| [anInt > aReal/] |
| [aReal < anInt/] |
| [anInt < aReal/] |
| [aReal >= anInt/] |
| [anInt >= aReal/] |
| [aReal <= anInt/] |
| [anInt <= aReal/] |
| [aReal + anInt/] |
| [anInt + aReal/] |
| [aReal - anInt/] |
| [anInt - aReal/] |
| [aReal * anInt/] |
| [anInt * aReal/] |
| [aReal / anInt/] |
| [anInt / aReal/] |
| [aReal.max(anInt)/] |
| [anInt.max(aReal)/] |
| [aReal.min(anInt)/] |
| [anInt.min(aReal)/] |
| [/let][/let] |
| [1.2 + (2 - 1.2)*3 >= 4 / 2.3/] |
| [/file] |
| [/comment] |
| |
| [/template] |