From 25314fd2aed81aa5281bc3d93dbcc7919368ebe1 Mon Sep 17 00:00:00 2001 From: Bicker Date: Wed, 22 May 2019 17:45:37 +0200 Subject: Initial commit --- ql/test/semantic_analysis/invalid/test001.ql | 9 +++++++++ ql/test/semantic_analysis/invalid/test002.ql | 9 +++++++++ ql/test/semantic_analysis/invalid/test003.ql | 13 +++++++++++++ ql/test/semantic_analysis/invalid/test004.ql | 11 +++++++++++ ql/test/semantic_analysis/invalid/test005.ql | 5 +++++ ql/test/semantic_analysis/invalid/test006.ql | 7 +++++++ ql/test/semantic_analysis/invalid/test007.ql | 9 +++++++++ ql/test/semantic_analysis/invalid/test008.ql | 7 +++++++ ql/test/semantic_analysis/invalid/test009.ql | 7 +++++++ ql/test/semantic_analysis/invalid/test010.ql | 5 +++++ ql/test/semantic_analysis/invalid/test011.ql | 5 +++++ ql/test/semantic_analysis/invalid/test012.ql | 5 +++++ ql/test/semantic_analysis/invalid/test013.ql | 5 +++++ ql/test/semantic_analysis/invalid/test014.ql | 5 +++++ ql/test/semantic_analysis/invalid/test015.ql | 5 +++++ ql/test/semantic_analysis/invalid/test016.ql | 5 +++++ ql/test/semantic_analysis/invalid/test017.ql | 5 +++++ ql/test/semantic_analysis/invalid/test018.ql | 5 +++++ ql/test/semantic_analysis/invalid/test019.ql | 5 +++++ ql/test/semantic_analysis/invalid/test020.ql | 5 +++++ ql/test/semantic_analysis/invalid/test021.ql | 5 +++++ ql/test/semantic_analysis/invalid/test022.ql | 5 +++++ ql/test/semantic_analysis/invalid/test023.ql | 5 +++++ ql/test/semantic_analysis/invalid/test024.ql | 5 +++++ ql/test/semantic_analysis/invalid/test025.ql | 5 +++++ ql/test/semantic_analysis/invalid/test026.ql | 5 +++++ ql/test/semantic_analysis/invalid/test027.ql | 5 +++++ ql/test/semantic_analysis/invalid/test028.ql | 5 +++++ ql/test/semantic_analysis/invalid/test029.ql | 5 +++++ ql/test/semantic_analysis/invalid/test030.ql | 7 +++++++ ql/test/semantic_analysis/invalid/test031.ql | 5 +++++ ql/test/semantic_analysis/invalid/test032.ql | 5 +++++ 32 files changed, 194 insertions(+) create mode 100644 ql/test/semantic_analysis/invalid/test001.ql create mode 100644 ql/test/semantic_analysis/invalid/test002.ql create mode 100644 ql/test/semantic_analysis/invalid/test003.ql create mode 100644 ql/test/semantic_analysis/invalid/test004.ql create mode 100644 ql/test/semantic_analysis/invalid/test005.ql create mode 100644 ql/test/semantic_analysis/invalid/test006.ql create mode 100644 ql/test/semantic_analysis/invalid/test007.ql create mode 100644 ql/test/semantic_analysis/invalid/test008.ql create mode 100644 ql/test/semantic_analysis/invalid/test009.ql create mode 100644 ql/test/semantic_analysis/invalid/test010.ql create mode 100644 ql/test/semantic_analysis/invalid/test011.ql create mode 100644 ql/test/semantic_analysis/invalid/test012.ql create mode 100644 ql/test/semantic_analysis/invalid/test013.ql create mode 100644 ql/test/semantic_analysis/invalid/test014.ql create mode 100644 ql/test/semantic_analysis/invalid/test015.ql create mode 100644 ql/test/semantic_analysis/invalid/test016.ql create mode 100644 ql/test/semantic_analysis/invalid/test017.ql create mode 100644 ql/test/semantic_analysis/invalid/test018.ql create mode 100644 ql/test/semantic_analysis/invalid/test019.ql create mode 100644 ql/test/semantic_analysis/invalid/test020.ql create mode 100644 ql/test/semantic_analysis/invalid/test021.ql create mode 100644 ql/test/semantic_analysis/invalid/test022.ql create mode 100644 ql/test/semantic_analysis/invalid/test023.ql create mode 100644 ql/test/semantic_analysis/invalid/test024.ql create mode 100644 ql/test/semantic_analysis/invalid/test025.ql create mode 100644 ql/test/semantic_analysis/invalid/test026.ql create mode 100644 ql/test/semantic_analysis/invalid/test027.ql create mode 100644 ql/test/semantic_analysis/invalid/test028.ql create mode 100644 ql/test/semantic_analysis/invalid/test029.ql create mode 100644 ql/test/semantic_analysis/invalid/test030.ql create mode 100644 ql/test/semantic_analysis/invalid/test031.ql create mode 100644 ql/test/semantic_analysis/invalid/test032.ql (limited to 'ql/test/semantic_analysis/invalid') diff --git a/ql/test/semantic_analysis/invalid/test001.ql b/ql/test/semantic_analysis/invalid/test001.ql new file mode 100644 index 0000000..42b1b41 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test001.ql @@ -0,0 +1,9 @@ +// Reference to unknown identifier in condition +form testForm { + if (unknownIdentifier) { + "First Question" + anotherIdentifier : integer + } + "Second Question" + testIdentifier : boolean +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test002.ql b/ql/test/semantic_analysis/invalid/test002.ql new file mode 100644 index 0000000..856447d --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test002.ql @@ -0,0 +1,9 @@ +// Reference to unknown identifier in computed question +form testForm { + "First Question" + testIdentifier : integer + "Second Question" + anotherIdentifier : integer = testIdentifier + unknownIdentifier +} + + diff --git a/ql/test/semantic_analysis/invalid/test003.ql b/ql/test/semantic_analysis/invalid/test003.ql new file mode 100644 index 0000000..1491a85 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test003.ql @@ -0,0 +1,13 @@ +// Reference to identifier in condition out of scope +form testForm { + "First Question" + testIdentifier : boolean + if (testIdentifier) { + "Second Question" + anotherIdentifier : integer + } + if (anotherIdentifier) { + "Unreachable Question" + unreachableIdentifier : integer + } +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test004.ql b/ql/test/semantic_analysis/invalid/test004.ql new file mode 100644 index 0000000..5ae3e94 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test004.ql @@ -0,0 +1,11 @@ +// Reference to identifier in computed question out of scope +form testForm { + "First Question" + testIdentifier : boolean + if (testIdentifier) { + "Second Question" + anotherIdentifier : integer + } + "Third Question" + unknownIdentifier : integer = anotherIdentifier + 1 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test005.ql b/ql/test/semantic_analysis/invalid/test005.ql new file mode 100644 index 0000000..de066f2 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test005.ql @@ -0,0 +1,5 @@ +// Identifier dependent on itself (reflexive) +form testForm { + "First Question" + firstIdentifier : integer = firstIdentifier + 1 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test006.ql b/ql/test/semantic_analysis/invalid/test006.ql new file mode 100644 index 0000000..12cf8f0 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test006.ql @@ -0,0 +1,7 @@ +// Identifiers dependent on each other (symmetric) +form testForm { + "First Question" + firstIdentifier : integer = secondIdentifier + 1 + "Second Question" + secondIdentifier : integer = firstIdentifier + 1 +} diff --git a/ql/test/semantic_analysis/invalid/test007.ql b/ql/test/semantic_analysis/invalid/test007.ql new file mode 100644 index 0000000..08f4f5f --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test007.ql @@ -0,0 +1,9 @@ +// Identifiers dependent on each other (transitive) +form testForm { + "First Question" + firstIdentifier : integer = secondIdentifier + 1 + "Second Question" + secondIdentifier : integer = thirdIdentifier + 1 + "Third Question" + thirdIdentifier : integer = firstIdentifier + 1 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test008.ql b/ql/test/semantic_analysis/invalid/test008.ql new file mode 100644 index 0000000..6c8a660 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test008.ql @@ -0,0 +1,7 @@ +// Different questions with equal identifier +form testForm { + "First Question" + someIdentifier : integer + "Second Question" + someIdentifier : decimal +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test009.ql b/ql/test/semantic_analysis/invalid/test009.ql new file mode 100644 index 0000000..362a2b1 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test009.ql @@ -0,0 +1,7 @@ +// Equal questions with different types +form testForm { + "First Question" + someIdentifier : integer + "First Question" + someIdentifier : decimal +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test010.ql b/ql/test/semantic_analysis/invalid/test010.ql new file mode 100644 index 0000000..30a03e2 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test010.ql @@ -0,0 +1,5 @@ +// Incompatible types for addition operation +form testForm { + "First Question" + someIdentifier : decimal = 10.0 + True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test011.ql b/ql/test/semantic_analysis/invalid/test011.ql new file mode 100644 index 0000000..de59f13 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test011.ql @@ -0,0 +1,5 @@ +// Incompatible types for subtraction operation +form testForm { + "First Question" + someIdentifier : decimal = 10.0 - True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test012.ql b/ql/test/semantic_analysis/invalid/test012.ql new file mode 100644 index 0000000..006bd0c --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test012.ql @@ -0,0 +1,5 @@ +// Incompatible types for greater equals operation +form testForm { + "First Question" + someIdentifier : boolean = 10.0 >= True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test013.ql b/ql/test/semantic_analysis/invalid/test013.ql new file mode 100644 index 0000000..2896f80 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test013.ql @@ -0,0 +1,5 @@ +// Incompatible types for greater than operation +form testForm { + "First Question" + someIdentifier : boolean = 10.0 > True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test014.ql b/ql/test/semantic_analysis/invalid/test014.ql new file mode 100644 index 0000000..b5b7774 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test014.ql @@ -0,0 +1,5 @@ +// Incompatible types for less equals operation +form testForm { + "First Question" + someIdentifier : boolean = 10.0 <= True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test015.ql b/ql/test/semantic_analysis/invalid/test015.ql new file mode 100644 index 0000000..6c52b37 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test015.ql @@ -0,0 +1,5 @@ +// Incompatible types for less than operation +form testForm { + "First Question" + someIdentifier : boolean = 10.0 < True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test016.ql b/ql/test/semantic_analysis/invalid/test016.ql new file mode 100644 index 0000000..dcf98ea --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test016.ql @@ -0,0 +1,5 @@ +// Incompatible types for and operation +form testForm { + "First Question" + someIdentifier : boolean = 10.0 && True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test017.ql b/ql/test/semantic_analysis/invalid/test017.ql new file mode 100644 index 0000000..9eef105 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test017.ql @@ -0,0 +1,5 @@ +// Incompatible types for or operation +form testForm { + "First Question" + someIdentifier : boolean = 10.0 || True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test018.ql b/ql/test/semantic_analysis/invalid/test018.ql new file mode 100644 index 0000000..bd18cf9 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test018.ql @@ -0,0 +1,5 @@ +// Incompatible types for multiplication operation +form testForm { + "First Question" + someIdentifier : decimal = 10.0 * True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test019.ql b/ql/test/semantic_analysis/invalid/test019.ql new file mode 100644 index 0000000..69a2c38 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test019.ql @@ -0,0 +1,5 @@ +// Incompatible types for division operation +form testForm { + "First Question" + someIdentifier : decimal = 10.0 / True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test020.ql b/ql/test/semantic_analysis/invalid/test020.ql new file mode 100644 index 0000000..538bdf9 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test020.ql @@ -0,0 +1,5 @@ +// Incompatible result type for addition operation +form testForm { + "First Question" + someIdentifier : integer = 10.1 + 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test021.ql b/ql/test/semantic_analysis/invalid/test021.ql new file mode 100644 index 0000000..74e596d --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test021.ql @@ -0,0 +1,5 @@ +// Incompatible result type for subtraction operation +form testForm { + "First Question" + someIdentifier : integer = 10.1 - 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test022.ql b/ql/test/semantic_analysis/invalid/test022.ql new file mode 100644 index 0000000..9cf774a --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test022.ql @@ -0,0 +1,5 @@ +// Incompatible result type for greater equals operation +form testForm { + "First Question" + someIdentifier : integer = 10.0 >= 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test023.ql b/ql/test/semantic_analysis/invalid/test023.ql new file mode 100644 index 0000000..f7d674b --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test023.ql @@ -0,0 +1,5 @@ +// Incompatible result type for greater than operation +form testForm { + "First Question" + someIdentifier : integer = 10.0 > 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test024.ql b/ql/test/semantic_analysis/invalid/test024.ql new file mode 100644 index 0000000..f262f5c --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test024.ql @@ -0,0 +1,5 @@ +// Incompatible result type for less equals operation +form testForm { + "First Question" + someIdentifier : integer = 10.0 <= 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test025.ql b/ql/test/semantic_analysis/invalid/test025.ql new file mode 100644 index 0000000..ef823b5 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test025.ql @@ -0,0 +1,5 @@ +// Incompatible result type for less than operation +form testForm { + "First Question" + someIdentifier : integer = 10.0 < 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test026.ql b/ql/test/semantic_analysis/invalid/test026.ql new file mode 100644 index 0000000..b1e8a5b --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test026.ql @@ -0,0 +1,5 @@ +// Incompatible result type for and operation +form testForm { + "First Question" + someIdentifier : integer = True && True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test027.ql b/ql/test/semantic_analysis/invalid/test027.ql new file mode 100644 index 0000000..262aa0e --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test027.ql @@ -0,0 +1,5 @@ +// Incompatible result type for or operation +form testForm { + "First Question" + someIdentifier : integer = False || True +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test028.ql b/ql/test/semantic_analysis/invalid/test028.ql new file mode 100644 index 0000000..ea02ccd --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test028.ql @@ -0,0 +1,5 @@ +// Incompatible result type for multiplication operation +form testForm { + "First Question" + someIdentifier : integer = 10.1 * 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test029.ql b/ql/test/semantic_analysis/invalid/test029.ql new file mode 100644 index 0000000..23f3c78 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test029.ql @@ -0,0 +1,5 @@ +// Incompatible result type for division operation +form testForm { + "First Question" + someIdentifier : integer = 10.1 / 10 +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test030.ql b/ql/test/semantic_analysis/invalid/test030.ql new file mode 100644 index 0000000..3de208c --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test030.ql @@ -0,0 +1,7 @@ +// Complex condition with incompatible types +form testForm { + if ((15.5 >= 15) && ((3.0 * True) - 15 > -10 / 2)) { + "First Question" + someIdentifier : integer + } +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test031.ql b/ql/test/semantic_analysis/invalid/test031.ql new file mode 100644 index 0000000..0d6f75c --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test031.ql @@ -0,0 +1,5 @@ +// Complex computed question with incompatible types +form testForm { + "First Question" + someIdentifier : boolean = (25.5 >= True) && ((10.0 / 3) - 15 < -10 * 2) +} \ No newline at end of file diff --git a/ql/test/semantic_analysis/invalid/test032.ql b/ql/test/semantic_analysis/invalid/test032.ql new file mode 100644 index 0000000..9de5ff2 --- /dev/null +++ b/ql/test/semantic_analysis/invalid/test032.ql @@ -0,0 +1,5 @@ +// Complex computed question with incompatible result type +form testForm { + "First Question" + someIdentifier : integer = (25.5 >= 10) && ((10.0 / 3) - 15 < -10 * 2) +} -- cgit v1.2.3