From 7b2a55cb11923aea9824e913723028dfd6a69d76 Mon Sep 17 00:00:00 2001
From: Adam Radziszewski <adam.radziszewski@pwr.wroc.pl>
Date: Wed, 4 May 2011 17:22:50 +0200
Subject: [PATCH] tests for oneof and longest

---
 tests/rules-data/match/variants/cclmatch.xml  | 70 ++++++++++++++++
 tests/rules-data/match/variants/cclmatch1.ccl | 18 +++++
 .../match/variants/cclmatch1.out.xml          | 80 +++++++++++++++++++
 tests/rules-data/match/variants/cclmatch2.ccl | 18 +++++
 .../match/variants/cclmatch2.out.xml          | 80 +++++++++++++++++++
 .../match/variants/simple.is-the-tagset       |  1 +
 6 files changed, 267 insertions(+)
 create mode 100644 tests/rules-data/match/variants/cclmatch.xml
 create mode 100644 tests/rules-data/match/variants/cclmatch1.ccl
 create mode 100644 tests/rules-data/match/variants/cclmatch1.out.xml
 create mode 100644 tests/rules-data/match/variants/cclmatch2.ccl
 create mode 100644 tests/rules-data/match/variants/cclmatch2.out.xml
 create mode 100644 tests/rules-data/match/variants/simple.is-the-tagset

diff --git a/tests/rules-data/match/variants/cclmatch.xml b/tests/rules-data/match/variants/cclmatch.xml
new file mode 100644
index 0000000..7b48741
--- /dev/null
+++ b/tests/rules-data/match/variants/cclmatch.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE cesAna SYSTEM "xcesAnaIPI.dtd">
+<cesAna xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" type="lex disamb">
+<chunkList>
+ <chunk>
+  <sentence>
+   <tok>
+    <orth>Dwa</orth>
+    <lex><base>dwa</base><ctag>other</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B" head="1">1</ann>
+   </tok>
+   <tok>
+    <orth>wielkie</orth>
+    <lex><base>wielki</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B" head="1">2</ann>
+   </tok>
+   <tok>
+    <orth>włochate</orth>
+    <lex><base>włochaty</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B">2</ann>
+   </tok>
+   <tok>
+    <orth>zapchlone</orth>
+    <lex><base>zapchlić</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B">2</ann>
+   </tok>
+   <tok>
+    <orth>koty</orth>
+    <lex><base>kot</base><ctag>noun</ctag></lex>
+    <ann chan="A" head="1">1</ann>
+    <ann chan="B" head="1">3</ann>
+   </tok>
+   <tok>
+    <orth>zjadły</orth>
+    <lex><base>zjeść</base><ctag>verb</ctag></lex>
+    <ann chan="A">0</ann>
+    <ann chan="B" head="1">4</ann>
+   </tok>
+   <tok>
+    <orth>pięć</orth>
+    <lex><base>pięć</base><ctag>other</ctag></lex>
+    <ann chan="A" head="1">2</ann>
+    <ann chan="B">4</ann>
+   </tok>
+   <tok>
+    <orth>tłustych</orth>
+    <lex><base>tłusty</base><ctag>adj</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">4</ann>
+   </tok>
+   <tok>
+    <orth>soczystych</orth>
+    <lex><base>soczysty</base><ctag>adj</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">4</ann>
+   </tok>
+   <tok>
+    <orth>much</orth>
+    <lex><base>mucha</base><ctag>noun</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">0</ann>
+   </tok>
+  </sentence>
+ </chunk>
+</chunkList>
+</cesAna>
diff --git a/tests/rules-data/match/variants/cclmatch1.ccl b/tests/rules-data/match/variants/cclmatch1.ccl
new file mode 100644
index 0000000..5e4efc1
--- /dev/null
+++ b/tests/rules-data/match/variants/cclmatch1.ccl
@@ -0,0 +1,18 @@
+apply(
+  match(
+    longest(
+      variant(
+        inter(class[0], {noun}),
+        inter(class[0], {verb})
+      ),
+      variant(
+        is("B")
+      ),
+      variant(
+        inter(class[0], {adj})
+      )
+    )
+  ),
+  actions(mark(M, "C"))
+)
+
diff --git a/tests/rules-data/match/variants/cclmatch1.out.xml b/tests/rules-data/match/variants/cclmatch1.out.xml
new file mode 100644
index 0000000..b7c6862
--- /dev/null
+++ b/tests/rules-data/match/variants/cclmatch1.out.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE cesAna SYSTEM "xcesAnaIPI.dtd">
+<cesAna xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" type="lex disamb">
+<chunkList>
+ <chunk>
+  <sentence>
+   <tok>
+    <orth>Dwa</orth>
+    <lex><base>dwa</base><ctag>other</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B" head="1">1</ann>
+    <ann chan="C" head="1">1</ann>
+   </tok>
+   <tok>
+    <orth>wielkie</orth>
+    <lex><base>wielki</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B" head="1">2</ann>
+    <ann chan="C" head="1">2</ann>
+   </tok>
+   <tok>
+    <orth>włochate</orth>
+    <lex><base>włochaty</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B">2</ann>
+    <ann chan="C">2</ann>
+   </tok>
+   <tok>
+    <orth>zapchlone</orth>
+    <lex><base>zapchlić</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B">2</ann>
+    <ann chan="C">2</ann>
+   </tok>
+   <tok>
+    <orth>koty</orth>
+    <lex><base>kot</base><ctag>noun</ctag></lex>
+    <ann chan="A" head="1">1</ann>
+    <ann chan="B" head="1">3</ann>
+    <ann chan="C" head="1">3</ann>
+   </tok>
+   <tok>
+    <orth>zjadły</orth>
+    <lex><base>zjeść</base><ctag>verb</ctag></lex>
+    <ann chan="A">0</ann>
+    <ann chan="B" head="1">4</ann>
+    <ann chan="C">3</ann>
+   </tok>
+   <tok>
+    <orth>pięć</orth>
+    <lex><base>pięć</base><ctag>other</ctag></lex>
+    <ann chan="A" head="1">2</ann>
+    <ann chan="B">4</ann>
+    <ann chan="C">0</ann>
+   </tok>
+   <tok>
+    <orth>tłustych</orth>
+    <lex><base>tłusty</base><ctag>adj</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">4</ann>
+    <ann chan="C" head="1">4</ann>
+   </tok>
+   <tok>
+    <orth>soczystych</orth>
+    <lex><base>soczysty</base><ctag>adj</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">4</ann>
+    <ann chan="C" head="1">5</ann>
+   </tok>
+   <tok>
+    <orth>much</orth>
+    <lex><base>mucha</base><ctag>noun</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">0</ann>
+    <ann chan="C">0</ann>
+   </tok>
+  </sentence>
+ </chunk>
+</chunkList>
+</cesAna>
diff --git a/tests/rules-data/match/variants/cclmatch2.ccl b/tests/rules-data/match/variants/cclmatch2.ccl
new file mode 100644
index 0000000..bb5fdaa
--- /dev/null
+++ b/tests/rules-data/match/variants/cclmatch2.ccl
@@ -0,0 +1,18 @@
+apply(
+  match(
+    oneof(
+      variant(
+        inter(class[0], {adj})
+      ),
+      variant(
+        inter(class[0], {noun}),
+        inter(class[0], {verb})
+      ),
+      variant(
+        is("B")
+      )
+    )
+  ),
+  actions(mark(M, "C"))
+)
+
diff --git a/tests/rules-data/match/variants/cclmatch2.out.xml b/tests/rules-data/match/variants/cclmatch2.out.xml
new file mode 100644
index 0000000..1227227
--- /dev/null
+++ b/tests/rules-data/match/variants/cclmatch2.out.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE cesAna SYSTEM "xcesAnaIPI.dtd">
+<cesAna xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" type="lex disamb">
+<chunkList>
+ <chunk>
+  <sentence>
+   <tok>
+    <orth>Dwa</orth>
+    <lex><base>dwa</base><ctag>other</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B" head="1">1</ann>
+    <ann chan="C" head="1">1</ann>
+   </tok>
+   <tok>
+    <orth>wielkie</orth>
+    <lex><base>wielki</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B" head="1">2</ann>
+    <ann chan="C" head="1">2</ann>
+   </tok>
+   <tok>
+    <orth>włochate</orth>
+    <lex><base>włochaty</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B">2</ann>
+    <ann chan="C" head="1">3</ann>
+   </tok>
+   <tok>
+    <orth>zapchlone</orth>
+    <lex><base>zapchlić</base><ctag>adj</ctag></lex>
+    <ann chan="A">1</ann>
+    <ann chan="B">2</ann>
+    <ann chan="C" head="1">4</ann>
+   </tok>
+   <tok>
+    <orth>koty</orth>
+    <lex><base>kot</base><ctag>noun</ctag></lex>
+    <ann chan="A" head="1">1</ann>
+    <ann chan="B" head="1">3</ann>
+    <ann chan="C" head="1">5</ann>
+   </tok>
+   <tok>
+    <orth>zjadły</orth>
+    <lex><base>zjeść</base><ctag>verb</ctag></lex>
+    <ann chan="A">0</ann>
+    <ann chan="B" head="1">4</ann>
+    <ann chan="C">5</ann>
+   </tok>
+   <tok>
+    <orth>pięć</orth>
+    <lex><base>pięć</base><ctag>other</ctag></lex>
+    <ann chan="A" head="1">2</ann>
+    <ann chan="B">4</ann>
+    <ann chan="C">0</ann>
+   </tok>
+   <tok>
+    <orth>tłustych</orth>
+    <lex><base>tłusty</base><ctag>adj</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">4</ann>
+    <ann chan="C" head="1">6</ann>
+   </tok>
+   <tok>
+    <orth>soczystych</orth>
+    <lex><base>soczysty</base><ctag>adj</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">4</ann>
+    <ann chan="C" head="1">7</ann>
+   </tok>
+   <tok>
+    <orth>much</orth>
+    <lex><base>mucha</base><ctag>noun</ctag></lex>
+    <ann chan="A">2</ann>
+    <ann chan="B">0</ann>
+    <ann chan="C">0</ann>
+   </tok>
+  </sentence>
+ </chunk>
+</chunkList>
+</cesAna>
diff --git a/tests/rules-data/match/variants/simple.is-the-tagset b/tests/rules-data/match/variants/simple.is-the-tagset
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/tests/rules-data/match/variants/simple.is-the-tagset
@@ -0,0 +1 @@
+
-- 
GitLab