4
"""revision $Id: test_toplev.py 321 2006-10-10 16:22:00Z Franz $
23
(defrule duck-rule "The Duck Rule"
31
class ctc_Toplevel(ctestcase):
32
"""test Class objects"""
35
"""Testing: BatchStar, Save, BSave"""
36
f = open("t.clp", 'w')
39
for x in self.envdict.keys():
45
self.assert_(e.AgendaChanged())
47
self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
48
e.Save("i_%s_c.dat" % x)
49
e.BSave("i_%s_c.bdat" % x)
52
"""Testing: Load, SaveFacts"""
53
for x in self.envdict.keys():
57
e.Load("i_%s_c.dat" % x)
59
self.assert_(e.AgendaChanged())
61
self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
62
e.SaveFacts("i_%s_f.dat" % x)
65
"""Testing: LoadFacts"""
66
for x in self.envdict.keys():
70
e.LoadFacts("i_%s_f.dat" % x)
71
self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
75
for x in self.envdict.keys():
79
e.BLoad("i_%s_c.bdat" % x)
81
self.assert_(e.AgendaChanged())
83
self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
87
for x in self.envdict.keys():
93
self.assert_(e.AgendaChanged())
95
self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
99
for x in self.envdict.keys():
103
i = e.Eval("(+ 1 1)")
104
self.assertEqual(int(i), 2)
106
def ctf_Top_07(self):
108
for x in self.envdict.keys():
112
i1 = e.Call('+', "1 1")
113
i2 = e.Call('+', (1, 1))
114
s1 = e.Call('sym-cat', "egg spam")
115
s2 = e.Call('sym-cat', ("egg", "spam"))
116
self.assertEqual(int(i1), 2)
117
self.assertEqual(int(i2), 2)
118
self.assertEqual(str(s1), "eggspam")
119
self.assertEqual(str(s2), "eggspam")
121
def ctf_Top_08(self):
122
"""Testing: SaveInstances, LoadInstances"""
123
for x in self.envdict.keys():
127
C = e.BuildClass("C", "(is-a USER)")
128
i1 = C.BuildInstance("i1")
129
i2 = C.BuildInstance("i2")
130
e.SaveInstances("i_%s_inst.dat" % x)
133
C = e.BuildClass("C", "(is-a USER)")
134
e.LoadInstances("i_%s_inst.dat" % x)
135
self.assertEqual(e.FindInstance("i1").Name, "i1")
136
self.assertEqual(e.FindInstance("i2").Name, "i2")
138
def ctf_Top_09(self):
139
"""Testing: BSaveInstances, BLoadInstances"""
140
for x in self.envdict.keys():
144
C = e.BuildClass("C", "(is-a USER)")
145
i1 = C.BuildInstance("i1")
146
i2 = C.BuildInstance("i2")
147
e.BSaveInstances("i_%s_inst.bdat" % x)
150
C = e.BuildClass("C", "(is-a USER)")
151
e.BLoadInstances("i_%s_inst.bdat" % x)
152
self.assertEqual(e.FindInstance("i1").Name, "i1")
153
self.assertEqual(e.FindInstance("i2").Name, "i2")
155
def ctf_Top_10(self):
156
"""Testing: Class.BuildInstance, FindInstanceLocal"""
157
for x in self.envdict.keys():
161
C = e.BuildClass("C", "(is-a USER)")
162
i1 = C.BuildInstance("i1")
163
self.assertEqual(e.FindInstanceLocal("i1").Name, i1.Name)
165
def ctf_Top_11(self):
166
"""Testing: RestoreInstancesFromString"""
167
for x in self.envdict.keys():
171
C = e.BuildClass("C", "(is-a USER)")
172
e.RestoreInstancesFromString("([i1] of C) ([i2] of C)")
173
self.assert_(e.FindInstance("i1"))
174
self.assert_(e.FindInstance("i2"))
177
def ctf_TopCurrentEnvironment_01(self):
178
"""Testing: CurrentEnvironment, Environment.SetCurrent, Environment.Index"""
180
clips.Assert("(duck)")
181
ce = clips.CurrentEnvironment()
182
e = clips.Environment()
183
self.assert_(e.Index != ce.Index)
187
f = clips.FactList()[0]
188
self.assertEqual(f.CleanPPForm(), "(duck)")