Add more unit tests for missing lin functions

This commit is contained in:
John J. Camilleri
2021-08-10 11:32:51 +02:00
parent 42bdee1e5f
commit b96fa7e08a
5 changed files with 156 additions and 18 deletions

View File

@@ -1,7 +1,12 @@
abstract Missing = {
cat S; NP; V2;
cat S; Det; N; NP; V2; -- A;
fun
Pred: NP -> V2 -> NP -> S;
John, Dogs, Fish: NP ;
ASg, {- APl, TheSg, -} ThePl : Det ;
Dog, Fish: N ;
Love, Eat: V2 ;
-- Big, Red: A ;
mkNP : Det -> N -> NP ;
-- mkANP : Det -> A -> N -> NP ;
}

View File

@@ -1,12 +1,96 @@
Missing: Pred John Love Fish
MissingCnc: John loves fish a lot
Missing: Pred (mkNP ASg Dog) Eat (mkNP ASg Dog)
MissingCnc: a dog [Eat] a dog [Eat]
Missing: Pred John Eat Fish
MissingCnc: John [Eat] fish [Eat]
Missing: Pred (mkNP ASg Dog) Eat (mkNP ASg Fish)
MissingCnc: a dog [Eat] a [Fish] [Eat]
Missing: Pred Fish Love Dogs
MissingCnc: fish love [Dogs] a lot
Missing: Pred (mkNP ASg Dog) Eat (mkNP ThePl Dog)
MissingCnc: a dog [Eat] [ThePl] dog [Eat]
Missing: Pred Dogs Eat Fish
MissingCnc: [Dogs] [Eat] fish [Eat]
Missing: Pred (mkNP ASg Dog) Eat (mkNP ThePl Fish)
MissingCnc: a dog [Eat] [ThePl] [Fish] [Eat]
Missing: Pred (mkNP ASg Dog) Love (mkNP ASg Dog)
MissingCnc: a dog loves a dog a lot
Missing: Pred (mkNP ASg Dog) Love (mkNP ASg Fish)
MissingCnc: a dog loves a [Fish] a lot
Missing: Pred (mkNP ASg Dog) Love (mkNP ThePl Dog)
MissingCnc: a dog loves [ThePl] dog a lot
Missing: Pred (mkNP ASg Dog) Love (mkNP ThePl Fish)
MissingCnc: a dog loves [ThePl] [Fish] a lot
Missing: Pred (mkNP ASg Fish) Eat (mkNP ASg Dog)
MissingCnc: a [Fish] [Eat] a dog [Eat]
Missing: Pred (mkNP ASg Fish) Eat (mkNP ASg Fish)
MissingCnc: a [Fish] [Eat] a [Fish] [Eat]
Missing: Pred (mkNP ASg Fish) Eat (mkNP ThePl Dog)
MissingCnc: a [Fish] [Eat] [ThePl] dog [Eat]
Missing: Pred (mkNP ASg Fish) Eat (mkNP ThePl Fish)
MissingCnc: a [Fish] [Eat] [ThePl] [Fish] [Eat]
Missing: Pred (mkNP ASg Fish) Love (mkNP ASg Dog)
MissingCnc: a [Fish] loves a dog a lot
Missing: Pred (mkNP ASg Fish) Love (mkNP ASg Fish)
MissingCnc: a [Fish] loves a [Fish] a lot
Missing: Pred (mkNP ASg Fish) Love (mkNP ThePl Dog)
MissingCnc: a [Fish] loves [ThePl] dog a lot
Missing: Pred (mkNP ASg Fish) Love (mkNP ThePl Fish)
MissingCnc: a [Fish] loves [ThePl] [Fish] a lot
Missing: Pred (mkNP ThePl Dog) Eat (mkNP ASg Dog)
MissingCnc: [ThePl] dog [Eat] a dog [Eat]
Missing: Pred (mkNP ThePl Dog) Eat (mkNP ASg Fish)
MissingCnc: [ThePl] dog [Eat] a [Fish] [Eat]
Missing: Pred (mkNP ThePl Dog) Eat (mkNP ThePl Dog)
MissingCnc: [ThePl] dog [Eat] [ThePl] dog [Eat]
Missing: Pred (mkNP ThePl Dog) Eat (mkNP ThePl Fish)
MissingCnc: [ThePl] dog [Eat] [ThePl] [Fish] [Eat]
Missing: Pred (mkNP ThePl Dog) Love (mkNP ASg Dog)
MissingCnc: [ThePl] dog loves a dog a lot
Missing: Pred (mkNP ThePl Dog) Love (mkNP ASg Fish)
MissingCnc: [ThePl] dog loves a [Fish] a lot
Missing: Pred (mkNP ThePl Dog) Love (mkNP ThePl Dog)
MissingCnc: [ThePl] dog loves [ThePl] dog a lot
Missing: Pred (mkNP ThePl Dog) Love (mkNP ThePl Fish)
MissingCnc: [ThePl] dog loves [ThePl] [Fish] a lot
Missing: Pred (mkNP ThePl Fish) Eat (mkNP ASg Dog)
MissingCnc: [ThePl] [Fish] [Eat] a dog [Eat]
Missing: Pred (mkNP ThePl Fish) Eat (mkNP ASg Fish)
MissingCnc: [ThePl] [Fish] [Eat] a [Fish] [Eat]
Missing: Pred (mkNP ThePl Fish) Eat (mkNP ThePl Dog)
MissingCnc: [ThePl] [Fish] [Eat] [ThePl] dog [Eat]
Missing: Pred (mkNP ThePl Fish) Eat (mkNP ThePl Fish)
MissingCnc: [ThePl] [Fish] [Eat] [ThePl] [Fish] [Eat]
Missing: Pred (mkNP ThePl Fish) Love (mkNP ASg Dog)
MissingCnc: [ThePl] [Fish] loves a dog a lot
Missing: Pred (mkNP ThePl Fish) Love (mkNP ASg Fish)
MissingCnc: [ThePl] [Fish] loves a [Fish] a lot
Missing: Pred (mkNP ThePl Fish) Love (mkNP ThePl Dog)
MissingCnc: [ThePl] [Fish] loves [ThePl] dog a lot
Missing: Pred (mkNP ThePl Fish) Love (mkNP ThePl Fish)
MissingCnc: [ThePl] [Fish] loves [ThePl] [Fish] a lot

View File

@@ -1,4 +1,32 @@
Pred John Love Fish
Pred John Eat Fish
Pred Fish Love Dogs
Pred Dogs Eat Fish
Pred (mkNP ASg Dog) Eat (mkNP ASg Dog)
Pred (mkNP ASg Dog) Eat (mkNP ASg Fish)
Pred (mkNP ASg Dog) Eat (mkNP ThePl Dog)
Pred (mkNP ASg Dog) Eat (mkNP ThePl Fish)
Pred (mkNP ASg Dog) Love (mkNP ASg Dog)
Pred (mkNP ASg Dog) Love (mkNP ASg Fish)
Pred (mkNP ASg Dog) Love (mkNP ThePl Dog)
Pred (mkNP ASg Dog) Love (mkNP ThePl Fish)
Pred (mkNP ASg Fish) Eat (mkNP ASg Dog)
Pred (mkNP ASg Fish) Eat (mkNP ASg Fish)
Pred (mkNP ASg Fish) Eat (mkNP ThePl Dog)
Pred (mkNP ASg Fish) Eat (mkNP ThePl Fish)
Pred (mkNP ASg Fish) Love (mkNP ASg Dog)
Pred (mkNP ASg Fish) Love (mkNP ASg Fish)
Pred (mkNP ASg Fish) Love (mkNP ThePl Dog)
Pred (mkNP ASg Fish) Love (mkNP ThePl Fish)
Pred (mkNP ThePl Dog) Eat (mkNP ASg Dog)
Pred (mkNP ThePl Dog) Eat (mkNP ASg Fish)
Pred (mkNP ThePl Dog) Eat (mkNP ThePl Dog)
Pred (mkNP ThePl Dog) Eat (mkNP ThePl Fish)
Pred (mkNP ThePl Dog) Love (mkNP ASg Dog)
Pred (mkNP ThePl Dog) Love (mkNP ASg Fish)
Pred (mkNP ThePl Dog) Love (mkNP ThePl Dog)
Pred (mkNP ThePl Dog) Love (mkNP ThePl Fish)
Pred (mkNP ThePl Fish) Eat (mkNP ASg Dog)
Pred (mkNP ThePl Fish) Eat (mkNP ASg Fish)
Pred (mkNP ThePl Fish) Eat (mkNP ThePl Dog)
Pred (mkNP ThePl Fish) Eat (mkNP ThePl Fish)
Pred (mkNP ThePl Fish) Love (mkNP ASg Dog)
Pred (mkNP ThePl Fish) Love (mkNP ASg Fish)
Pred (mkNP ThePl Fish) Love (mkNP ThePl Dog)
Pred (mkNP ThePl Fish) Love (mkNP ThePl Fish)

View File

@@ -1,13 +1,22 @@
concrete MissingCnc of Missing = open Prelude, ParamX in {
lincat
S = SS ;
Det = { s : Str ; n : Number } ;
N = { s : Number => Str } ;
NP = { s : Str ; n : Number } ;
V2 = { s : Number => Str; s2 : Str } ;
-- A = { s : Number => Str } ;
lin
Pred subj verb obj = ss (subj.s ++ verb.s ! subj.n ++ obj.s ++ verb.s2) ;
John = { s = "John" ; n = Sg } ;
-- Dogs = { s = "dogs" ; n = Pl } ;
Fish = { s = "fish" ; n = Pl } ;
ASg = { s = "a" ; n = Sg } ;
-- APl = { s = "" ; n = Pl } ;
-- TheSg = { s = "the" ; n = Sg } ;
-- ThePl = { s = "the" ; n = Pl } ;
Dog = { s = table { Sg => "dog" ; Pl => "dogs" } } ;
-- Fish = { s = \\_ => "fish" } ;
Love = {
s = table {
Sg => "loves" ;
@@ -22,4 +31,10 @@ concrete MissingCnc of Missing = open Prelude, ParamX in {
-- } ;
-- s2 = "often"
-- } ;
-- Big = { s = \\_ => "big" } ;
-- Red = { s = \\_ => "red" } ;
mkNP d n = { s = d.s ++ n.s ! d.n ; n = d.n } ;
-- mkANP d a n = { s = d.s ++ a.s ! d.n ++ n.s ! d.n ; n = d.n } ;
}