~ubuntu-branches/ubuntu/vivid/python-clips/vivid

« back to all changes in this revision

Viewing changes to testsuite/test_toplev.py

  • Committer: Package Import Robot
  • Author(s): Thorsten Alteholz
  • Date: 2013-04-08 18:00:07 UTC
  • Revision ID: package-import@ubuntu.com-20130408180007-a6r8lqqixt23uisd
Tags: upstream-1.0.7.348+clips
ImportĀ upstreamĀ versionĀ 1.0.7.348+clips

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# test_toplev.py
 
2
 
 
3
 
 
4
"""revision $Id: test_toplev.py 321 2006-10-10 16:22:00Z Franz $
 
5
TESTS:
 
6
BatchStar
 
7
AgendaChanged
 
8
Assert
 
9
Run
 
10
Save
 
11
Load
 
12
SaveFacts
 
13
LoadFacts
 
14
BSave
 
15
BLoad
 
16
Build
 
17
Eval
 
18
 
 
19
"""
 
20
 
 
21
 
 
22
file01 = """
 
23
(defrule duck-rule "The Duck Rule"
 
24
    ?f <- (duck)
 
25
=>
 
26
    (retract ?f)
 
27
    (assert (quack)))
 
28
"""
 
29
 
 
30
 
 
31
class ctc_Toplevel(ctestcase):
 
32
    """test Class objects"""
 
33
 
 
34
    def ctf_Top_01(self):
 
35
        """Testing: BatchStar, Save, BSave"""
 
36
        f = open("t.clp", 'w')
 
37
        f.write(file01)
 
38
        f.close()
 
39
        for x in self.envdict.keys():
 
40
            e = self.envdict[x]
 
41
            e.Clear()
 
42
            e.Reset()
 
43
            e.BatchStar("t.clp")
 
44
            e.Assert("(duck)")
 
45
            self.assert_(e.AgendaChanged())
 
46
            e.Run()
 
47
            self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
 
48
            e.Save("i_%s_c.dat" % x)
 
49
            e.BSave("i_%s_c.bdat" % x)
 
50
 
 
51
    def ctf_Top_02(self):
 
52
        """Testing: Load, SaveFacts"""
 
53
        for x in self.envdict.keys():
 
54
            e = self.envdict[x]
 
55
            e.Clear()
 
56
            e.Reset()
 
57
            e.Load("i_%s_c.dat" % x)
 
58
            e.Assert("(duck)")
 
59
            self.assert_(e.AgendaChanged())
 
60
            e.Run()
 
61
            self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
 
62
            e.SaveFacts("i_%s_f.dat" % x)
 
63
 
 
64
    def ctf_Top_03(self):
 
65
        """Testing: LoadFacts"""
 
66
        for x in self.envdict.keys():
 
67
            e = self.envdict[x]
 
68
            e.Clear()
 
69
            e.Reset()
 
70
            e.LoadFacts("i_%s_f.dat" % x)
 
71
            self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
 
72
 
 
73
    def ctf_Top_04(self):
 
74
        """Testing: BLoad"""
 
75
        for x in self.envdict.keys():
 
76
            e = self.envdict[x]
 
77
            e.Clear()
 
78
            e.Reset()
 
79
            e.BLoad("i_%s_c.bdat" % x)
 
80
            e.Assert("(duck)")
 
81
            self.assert_(e.AgendaChanged())
 
82
            e.Run()
 
83
            self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
 
84
 
 
85
    def ctf_Top_05(self):
 
86
        """Testing: Build"""
 
87
        for x in self.envdict.keys():
 
88
            e = self.envdict[x]
 
89
            e.Clear()
 
90
            e.Reset()
 
91
            e.Build(file01)
 
92
            e.Assert("(duck)")
 
93
            self.assert_(e.AgendaChanged())
 
94
            e.Run()
 
95
            self.assertEqual(e.FactList()[-1].CleanPPForm(), "(quack)")
 
96
 
 
97
    def ctf_Top_06(self):
 
98
        """Testing: Eval"""
 
99
        for x in self.envdict.keys():
 
100
            e = self.envdict[x]
 
101
            e.Clear()
 
102
            e.Reset()
 
103
            i = e.Eval("(+ 1 1)")
 
104
            self.assertEqual(int(i), 2)
 
105
 
 
106
    def ctf_Top_07(self):
 
107
        """Testing: Call"""
 
108
        for x in self.envdict.keys():
 
109
            e = self.envdict[x]
 
110
            e.Clear()
 
111
            e.Reset()
 
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")
 
120
 
 
121
    def ctf_Top_08(self):
 
122
        """Testing: SaveInstances, LoadInstances"""
 
123
        for x in self.envdict.keys():
 
124
            e = self.envdict[x]
 
125
            e.Clear()
 
126
            e.Reset()
 
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)
 
131
            e.Clear()
 
132
            e.Reset()
 
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")
 
137
 
 
138
    def ctf_Top_09(self):
 
139
        """Testing: BSaveInstances, BLoadInstances"""
 
140
        for x in self.envdict.keys():
 
141
            e = self.envdict[x]
 
142
            e.Clear()
 
143
            e.Reset()
 
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)
 
148
            e.Clear()
 
149
            e.Reset()
 
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")
 
154
 
 
155
    def ctf_Top_10(self):
 
156
        """Testing: Class.BuildInstance, FindInstanceLocal"""
 
157
        for x in self.envdict.keys():
 
158
            e = self.envdict[x]
 
159
            e.Clear()
 
160
            e.Reset()
 
161
            C = e.BuildClass("C", "(is-a USER)")
 
162
            i1 = C.BuildInstance("i1")
 
163
            self.assertEqual(e.FindInstanceLocal("i1").Name, i1.Name)
 
164
 
 
165
    def ctf_Top_11(self):
 
166
        """Testing: RestoreInstancesFromString"""
 
167
        for x in self.envdict.keys():
 
168
            e = self.envdict[x]
 
169
            e.Clear()
 
170
            e.Reset()
 
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"))
 
175
 
 
176
 
 
177
    def ctf_TopCurrentEnvironment_01(self):
 
178
        """Testing: CurrentEnvironment, Environment.SetCurrent, Environment.Index"""
 
179
        clips.Clear()
 
180
        clips.Assert("(duck)")
 
181
        ce = clips.CurrentEnvironment()
 
182
        e = clips.Environment()
 
183
        self.assert_(e.Index != ce.Index)
 
184
        e.SetCurrent()
 
185
        clips.Reset()
 
186
        ce.SetCurrent()
 
187
        f = clips.FactList()[0]
 
188
        self.assertEqual(f.CleanPPForm(), "(duck)")
 
189
 
 
190
 
 
191
 
 
192
# end.