/[fenfire]/fenfire/org/fenfire/modules/pp/PPActionsImpl.test
ViewVC logotype

Diff of /fenfire/org/fenfire/modules/pp/PPActionsImpl.test

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by mudyc, Tue Mar 25 14:23:57 2003 UTC revision 1.2 by mudyc, Tue Mar 25 23:27:15 2003 UTC
# Line 1  Line 1 
1  #(c): Matti Katila  #(c): Matti Katila
2    
3  from org.fenfire.modules.pp import *  from org.fenfire.modules.pp import *
4    from org.fenfire.util import URN5Namespace
5  from com.hp.hpl.mesa.rdf import jena  from com.hp.hpl.mesa.rdf import jena
6    from com.hp.hpl.mesa.rdf.jena.vocabulary import RDF
7    
8  def setUp():  def setUp():
9      global model, ppact      global model, ppact, PP
10      model = jena.mem.ModelMem()      model = jena.mem.ModelMem()
11      ppact = PPActionsImpl(model)      ppact = PPActionsImpl(model)
12        PP = PPVocab()
13    
14  def testNewPaper():  def testNewPaper():
15      """      paper = ppact.newPaper()
16      Create a new pp paper      assert paper != ''
17      """  
18      text = ppact.newPaper()      slctr = jena.common.SelectorImpl(None, RDF.type, PP.PaperType)
19      assert text != ''      iter = model.listStatements(slctr)
20        assert iter.hasNext() == 1
21        stmt = iter.next()
22        assert iter.hasNext() == 0
23        assert stmt.getSubject().toString() == paper
24    
25        # XXX does not check creation time
26    
27  def testNewNote():  def testNewNote():
28      assert 1 == 1      newNoteCheck()
29    
30        paper = URN5Namespace.instance.generateId()
31        paperRes = jena.common.ResourceImpl(paper)
32        note = ppact.newNote(paper, 123, 456, 'This is a new note')
33        noteRes = jena.common.ResourceImpl(note)
34    
35        # note1 -.
36        #         >-> lintoReal data -> data
37        # note2 -'
38        
39        # check link to real data
40        slctr = jena.common.SelectorImpl(noteRes, PP.LinkToContentRef, None)
41        iter = model.listStatements(slctr)
42        assert iter.hasNext() == 1
43        stmt = iter.next()
44        assert iter.hasNext() == 0
45        assert stmt.getSubject().toString() == note
46    
47        datalink = stmt.getObject()
48    
49        # check data
50        slctr = jena.common.SelectorImpl(datalink, PP.Data, None)
51        iter = model.listStatements(slctr)
52        assert iter.hasNext() == 1
53        stmt = iter.next()
54        assert iter.hasNext() == 0
55        assert stmt.getObject().toString() == 'This is a new note'
56    
57        # check type of data
58        slctr = jena.common.SelectorImpl(datalink, RDF.type, None)
59        iter = model.listStatements(slctr)
60        assert iter.hasNext() == 1
61        stmt = iter.next()
62        assert iter.hasNext() == 0
63        assert stmt.getSubject() == datalink
64        assert stmt.getObject() == PP.DataType
65    
66    
67    def testCloneNote():
68        newNoteCheck()
69    
70        paper = URN5Namespace.instance.generateId()
71        orig = ppact.newNote(paper, 123, 456, 'This is the original note')
72        origRes = jena.common.ResourceImpl(orig)
73        clone = ppact.cloneNote(paper, orig, 123, 456, 'This is a new clone')
74        cloneRes = jena.common.ResourceImpl(clone)
75    
76        # note  -.
77        #         >-> lintoReal data -> data
78        # clone -'
79        
80        # check link to real data
81        slctr = jena.common.SelectorImpl(cloneRes, PP.LinkToContentRef, None)
82        iter = model.listStatements(slctr)
83    
84        slctr2 = jena.common.SelectorImpl(origRes, PP.LinkToContentRef, None)
85        iter2 = model.listStatements(slctr2)
86    
87        assert iter.hasNext() == 1
88        assert iter2.hasNext() == 1
89    
90        stmt = iter.next()
91        stmt2 = iter2.next()
92    
93        assert iter.hasNext() == 0
94        assert iter2.hasNext() == 0
95        
96        assert stmt.getObject() == stmt2.getObject()
97    
98        slctr = jena.common.SelectorImpl(stmt.getObject(), PP.Data, None)
99        iter = model.listStatements(slctr)
100        assert iter.hasNext() == 1
101        stmt = iter.next()
102        assert iter.hasNext() == 0
103        assert stmt.getObject().toString() == 'This is the original note'
104    
105    def newNoteCheck():
106        paper = URN5Namespace.instance.generateId()
107        paperRes = jena.common.ResourceImpl(paper)
108        note = ppact.newNote(paper, -123, 456, 'This is a new note')
109        noteRes = jena.common.ResourceImpl(note)
110    
111        # type test - NoteType
112        slctr = jena.common.SelectorImpl(noteRes, RDF.type, PP.NoteType)
113        iter = model.listStatements(slctr)
114        assert iter.hasNext() == 1
115        stmt = iter.next()
116        assert iter.hasNext() == 0
117        assert stmt.getSubject().toString() == note
118        
119        # is node on paper?
120        slctr = jena.common.SelectorImpl(paperRes, PP.Contains, noteRes)
121        iter = model.listStatements(slctr)
122        assert iter.hasNext() == 1
123        stmt = iter.next()
124        assert iter.hasNext() == 0
125        assert stmt.getSubject().toString() == paper
126        assert stmt.getObject().toString() == note
127    
128        # x coord ok?
129        slctr = jena.common.SelectorImpl(noteRes, PP.CoordX, None)
130        iter = model.listStatements(slctr)
131        assert iter.hasNext() == 1
132        stmt = iter.next()
133        assert iter.hasNext() == 0
134        assert stmt.getObject().toString() == '-123'
135    
136        # y coord ok?
137        slctr = jena.common.SelectorImpl(noteRes, PP.CoordY, None)
138        iter = model.listStatements(slctr)
139        assert iter.hasNext() == 1
140        stmt = iter.next()
141        assert iter.hasNext() == 0
142        assert stmt.getObject().toString() == '456'
143    
144        # deth ok?
145        slctr = jena.common.SelectorImpl(noteRes, PP.Depth, None)
146        iter = model.listStatements(slctr)
147        assert iter.hasNext() == 1
148        stmt = iter.next()
149        assert iter.hasNext() == 0
150        assert stmt.getObject().toString() == '10'
151    
152    def testAssoc():
153        assocPos()
154        assocNeg()
155    
156    def assocPos():
157        paper = URN5Namespace.instance.generateId()
158        noteA = ppact.newNote(paper, 12, 45, 'This is A')
159        noteARes = jena.common.ResourceImpl(noteA)
160        noteB = ppact.newNote(paper, 23, 56, 'This is B')
161        noteBRes = jena.common.ResourceImpl(noteB)
162    
163        ppact.assocNotes(noteA, 1, noteB)
164    
165        # noteA -> ?
166        slctr = jena.common.SelectorImpl(None, PP.Association, noteARes)
167        iter = model.listStatements(slctr)
168        assert iter.hasNext() == 0
169        
170        slctr = jena.common.SelectorImpl(noteARes, PP.Association, None)
171        iter = model.listStatements(slctr)
172        assert iter.hasNext() == 1
173        stmt = iter.next()
174        assert iter.hasNext() == 0
175        assert stmt.getObject().toString() == noteB
176        
177        # ? <- noteB
178        slctr = jena.common.SelectorImpl(noteBRes, PP.Association, None)
179        iter = model.listStatements(slctr)
180        assert iter.hasNext() == 0
181    
182        slctr = jena.common.SelectorImpl(None, PP.Association, noteBRes)
183        iter = model.listStatements(slctr)
184        assert iter.hasNext() == 1
185        stmt = iter.next()
186        assert iter.hasNext() == 0
187        assert stmt.getSubject().toString() == noteA
188    
189    
190    def assocNeg():
191        paper = URN5Namespace.instance.generateId()
192        noteA = ppact.newNote(paper, 12, 45, 'This is A')
193        noteARes = jena.common.ResourceImpl(noteA)
194        noteB = ppact.newNote(paper, 23, 56, 'This is B')
195        noteBRes = jena.common.ResourceImpl(noteB)
196    
197        ppact.assocNotes(noteA, -1, noteB)
198    
199        # noteA -> ?
200        slctr = jena.common.SelectorImpl(noteARes, PP.Association, None)
201        iter = model.listStatements(slctr)
202        assert iter.hasNext() == 0
203        
204        slctr = jena.common.SelectorImpl(None, PP.Association, noteARes)
205        iter = model.listStatements(slctr)
206        assert iter.hasNext() == 1
207        stmt = iter.next()
208        assert iter.hasNext() == 0
209        assert stmt.getSubject().toString() == noteB
210        
211        # ? <- noteB
212        slctr = jena.common.SelectorImpl(None, PP.Association, noteBRes)
213        iter = model.listStatements(slctr)
214        assert iter.hasNext() == 0
215    
216        slctr = jena.common.SelectorImpl(noteBRes, PP.Association, None)
217        iter = model.listStatements(slctr)
218        assert iter.hasNext() == 1
219        stmt = iter.next()
220        assert iter.hasNext() == 0
221        assert stmt.getObject().toString() == noteA
222    
223    
224    def testInsertAndDeleteText():
225        paper = URN5Namespace.instance.generateId()
226        note = ppact.newNote(paper, -12, -45, 'This is a test')
227        noteRes = jena.common.ResourceImpl(note)
228        print note
229    
230        ppact.insertText(note, 5, 'FOO! ')
231    
232        # insert test
233        slctr = jena.common.SelectorImpl(noteRes, PP.LinkToContentRef, None)
234        iter = model.listStatements(slctr)
235        assert iter.hasNext() == 1
236        stmt = iter.next()
237        assert iter.hasNext() == 0
238    
239        slctr = jena.common.SelectorImpl(stmt.getObject(), PP.Data, None)
240        iter = model.listStatements(slctr)
241        assert iter.hasNext() == 1
242        stmt = iter.next()
243        assert iter.hasNext() == 0
244    
245        assert stmt.getObject().toString() == 'This FOO! is a test'
246    
247        #delete test
248        ppact.deleteText(note, 5, 8)
249        slctr = jena.common.SelectorImpl(noteRes, PP.LinkToContentRef, None)
250        iter = model.listStatements(slctr)
251        assert iter.hasNext() == 1
252        stmt = iter.next()
253        assert iter.hasNext() == 0
254    
255        slctr = jena.common.SelectorImpl(stmt.getObject(), PP.Data, None)
256        iter = model.listStatements(slctr)
257        assert iter.hasNext() == 1
258        stmt = iter.next()
259        assert iter.hasNext() == 0
260    
261        assert stmt.getObject().toString() == 'This ! is a test'

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26