blob: e2177c69595771874f21e0a32b144712e38d3ac1 [file] [log] [blame]
[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]