123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- .. Copyright (C) 2001-2019 NLTK Project
- .. For license information, see LICENSE.TXT
- ==========================
- Test Suites for Grammars
- ==========================
- Sentences in the test suite are divided into two classes:
- - grammatical (*accept*) and
- - ungrammatical (*reject*).
- If a sentence should parse accordng to the grammar, the value of
- ``trees`` will be a non-empty list. If a sentence should be rejected
- according to the grammar, then the value of ``trees`` will be ``None``.
- >>> from nltk.parse import TestGrammar
- >>> germantest1 = {}
- >>> germantest1['doc'] = "Tests for person agreement"
- >>> germantest1['accept'] = [
- ... 'ich komme',
- ... 'ich sehe mich',
- ... 'du kommst',
- ... 'du siehst mich',
- ... 'sie kommt',
- ... 'sie sieht mich',
- ... 'ihr kommt',
- ... 'wir kommen',
- ... 'sie kommen',
- ... 'du magst mich',
- ... 'er mag mich',
- ... 'du folgst mir',
- ... 'sie hilft mir',
- ... ]
- >>> germantest1['reject'] = [
- ... 'ich kommt',
- ... 'ich kommst',
- ... 'ich siehst mich',
- ... 'du komme',
- ... 'du sehe mich',
- ... 'du kommt',
- ... 'er komme',
- ... 'er siehst mich',
- ... 'wir komme',
- ... 'wir kommst',
- ... 'die Katzen kommst',
- ... 'sie komme',
- ... 'sie kommst',
- ... 'du mag mich',
- ... 'er magst mich',
- ... 'du folgt mir',
- ... 'sie hilfst mir',
- ... ]
- >>> germantest2 = {}
- >>> germantest2['doc'] = "Tests for number agreement"
- >>> germantest2['accept'] = [
- ... 'der Hund kommt',
- ... 'die Hunde kommen',
- ... 'ich komme',
- ... 'wir kommen',
- ... 'ich sehe die Katzen',
- ... 'ich folge den Katzen',
- ... 'ich sehe die Katzen',
- ... 'ich folge den Katzen',
- ... 'wir sehen die Katzen',
- ... 'wir folgen den Katzen'
- ... ]
- >>> germantest2['reject'] = [
- ... 'ich kommen',
- ... 'wir komme',
- ... 'der Hunde kommt',
- ... 'der Hunde kommen',
- ... 'die Katzen kommt',
- ... 'ich sehe der Hunde',
- ... 'ich folge den Hund',
- ... 'ich sehen der Hunde',
- ... 'ich folgen den Hund',
- ... 'wir sehe die Katzen',
- ... 'wir folge den Katzen'
- ... ]
- >>> germantest3 = {}
- >>> germantest3['doc'] = "Tests for case government and subcategorization"
- >>> germantest3['accept'] = [
- ... 'der Hund sieht mich',
- ... 'der Hund kommt',
- ... 'ich sehe den Hund',
- ... 'ich helfe dem Hund',
- ... ]
- >>> germantest3['reject'] = [
- ... 'ich sehe',
- ... 'ich helfe',
- ... 'ich komme den Hund',
- ... 'ich sehe den Hund die Katzen',
- ... 'du hilfst mich',
- ... 'du siehst mir',
- ... 'du siehst ich',
- ... 'der Hunde kommt mich',
- ... 'die Hunde sehe die Hunde',
- ... 'der Hund sehe die Hunde',
- ... 'ich hilft den Hund',
- ... 'ich hilft der Hund',
- ... 'ich sehe dem Hund',
- ... ]
- >>> germantestsuites = [germantest1, germantest2, germantest3]
- >>> tester = TestGrammar('grammars/book_grammars/german.fcfg', germantestsuites)
- >>> tester.run()
- Tests for person agreement: All tests passed!
- Tests for number agreement: All tests passed!
- Tests for case government and subcategorization: All tests passed!
|