1
## Automatically adapted for numpy.oldnumeric Jul 23, 2007 by
3
#########################################################################
5
# Date: Aug [0]003 Authors: Daniel Stoffler, Michel Sanner,Sowjanya Karnati
10
# Copyright: Daniel Stoffler, Michel Sanner, and TSRI
12
#########################################################################
14
import sys,unittest,os
15
import numpy.oldnumeric as Numeric
20
from time import sleep
22
class StandardLibraryBaseTest(unittest.TestCase):
26
from Vision.VPE import VisualProgramingEnvironment
27
ed = VisualProgramingEnvironment(name='Vision', withShell=0,)
28
ed.master.update_idletasks()
29
ed.configure(withThreads=0)
37
cmd = "rm -f testfile.py"
42
##########################
44
##########################
46
def test_01_loadStandardLib(self):
48
from Vision.StandardNodes import stdlib
49
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
50
ed.master.update_idletasks()
54
def test_02_addAllNodes(self):
55
# test all nodes in this library by adding them to the canvas, show widgets
56
# in node if available and show paramPanel if available, then delete node
57
from Vision.StandardNodes import stdlib
58
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
59
ed.master.update_idletasks()
65
net = ed.currentNetwork
66
for cat in libs[lib].libraryDescr.keys():
67
for node in libs[lib].libraryDescr[cat]['nodes']:
68
klass = node.nodeClass
71
netNode = apply( klass, args, kw )
72
print 'testing: '+node.name # begin node test
74
net.addNode(netNode,posx,posy)
75
# show widget in node if available:
76
widgetsInNode = netNode.getWidgetsForMaster('Node')
77
if len( widgetsInNode.items() ):
78
if not netNode.isExpanded():
79
netNode.toggleNodeExpand_cb()
80
ed.master.update_idletasks()
85
netNode.toggleNodeExpand_cb()
86
ed.master.update_idletasks()
89
# show widgets in param panel if available:
90
widgetsInPanel = netNode.getWidgetsForMaster('ParamPanel')
91
if len(widgetsInPanel.items()):
92
netNode.paramPanel.show()
93
ed.master.update_idletasks()
96
netNode.paramPanel.hide()
97
ed.master.update_idletasks()
99
# and now delete the node
100
net.deleteNodes([netNode])
101
ed.master.update_idletasks()
102
print 'passed: '+node.name # end node test
104
########################################################
105
# Filter Nodes Tests #
106
########################################################
108
def test_filter_cast(self):
111
from Vision.StandardNodes import stdlib
112
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
113
ed.master.update_idletasks()
115
net =ed.currentNetwork
116
net.runOnNewData.value = True
118
node1 = Vision.StandardNodes.Cast(library =Vision.StandardNodes.stdlib)
119
net.addNode(node1,150,150)
121
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
122
net.addNode(node2,50,50)
124
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
125
net.addNode(node3,200,50)
126
net.connectNodes(node1,node3)
127
net.connectNodes(node2,node1)
128
node1.toggleNodeExpand_cb()
131
node1.inputPorts[1].widget.set('int')
132
print "testing castnode entry int,input 1,output is:"
133
node2.inputPorts[0].widget.set(1)
134
self.assertEqual(node3.inputPorts[0].getData(),1)
136
print "testing castnode entry list,input 1,output is:"
137
node1.inputPorts[1].widget.set('list')
138
self.assertEqual(node3.inputPorts[0].getData(),[1])
140
print "testing castnode entry str,input 1,output is:"
141
node1.inputPorts[1].widget.set('str')
142
self.assertEqual(node3.inputPorts[0].getData(),'1')
144
# print "testing castnode entry 0Darray,input 1,output is:"
145
# node1.inputPorts[1].widget.set('0Darray')
146
# self.assertEqual(node3.inputPorts[0].getData(),'1')
148
# print "testing castnode entry 0Dcomplex,input 1,output is:"
149
# node1.inputPorts[1].widget.set('0Dcomplex')
150
# self.assertEqual(node3.inputPorts[0].getData(),'1')
152
# print "testing castnode entry 0Ddictionary,input 1,output is:"
153
# node1.inputPorts[1].widget.set('0Ddictionary')
154
# self.assertEqual(node3.inputPorts[0].getData(),'1')
156
# print "testing castnode entry 0Ddouble,input 1,output is:"
157
# node1.inputPorts[1].widget.set('0Ddouble')
158
# self.assertEqual(node3.inputPorts[0].getData(),'1')
160
# print "testing castnode entry 0Dfloat,input 1,output is:"
161
# node1.inputPorts[1].widget.set('0Dfloat')
162
# self.assertEqual(node3.inputPorts[0].getData(),'1')
164
# print "testing castnode entry 0Dint,input 1,output is:"
165
# node1.inputPorts[1].widget.set('0Dint')
166
# self.assertEqual(node3.inputPorts[0].getData(),'1')
168
# print "testing castnode entry 0Dlist,input 1,output is:"
169
# node1.inputPorts[1].widget.set('0Dlist')
170
# self.assertEqual(node3.inputPorts[0].getData(),'1')
172
# print "testing castnode entry 0Dlong,input 1,output is:"
173
# node1.inputPorts[1].widget.set('0Dlong')
174
# self.assertEqual(node3.inputPorts[0].getData(),'1')
176
# print "testing castnode entry 0Dstring,input 1,output is:"
177
# node1.inputPorts[1].widget.set('0Dstring')
178
# self.assertEqual(node3.inputPorts[0].getData(),'1')
180
# print "testing castnode entry 0Dtuple,input 1,output is:"
181
# node1.inputPorts[1].widget.set('0Dtuple')
182
# self.assertEqual(node3.inputPorts[0].getData(),'1')
184
# print "testing castnode entry 1Darray,input 1,output is:"
185
# node1.inputPorts[1].widget.set('1Darray')
186
# self.assertEqual(node3.inputPorts[0].getData(),'1')
188
# print "testing castnode entry 1Dcomplex,input 1,output is:"
189
# node1.inputPorts[1].widget.set('1Dcomplex')
190
# self.assertEqual(node3.inputPorts[0].getData(),'1')
192
# print "testing castnode entry 1Ddictionary,input 1,output is:"
193
# node1.inputPorts[1].widget.set('1Ddictionary')
194
# self.assertEqual(node3.inputPorts[0].getData(),'1')
196
# print "testing castnode entry 1Ddouble,input 1,output is:"
197
# node1.inputPorts[1].widget.set('1Ddouble')
198
# self.assertEqual(node3.inputPorts[0].getData(),'1')
200
# print "testing castnode entry 1Dfloat,input 1,output is:"
201
# node1.inputPorts[1].widget.set('1Dfloat')
202
# self.assertEqual(node3.inputPorts[0].getData(),'1')
204
# print "testing castnode entry 1Dint,input 1,output is:"
205
# node1.inputPorts[1].widget.set('1Dint')
206
# self.assertEqual(node3.inputPorts[0].getData(),'1')
208
# print "testing castnode entry 1Dlist,input 1,output is:"
209
# node1.inputPorts[1].widget.set('1Dlist')
210
# self.assertEqual(node3.inputPorts[0].getData(),'1')
212
# print "testing castnode entry 1Dlong,input 1,output is:"
213
# node1.inputPorts[1].widget.set('1Dlong')
214
# self.assertEqual(node3.inputPorts[0].getData(),'1')
216
# print "testing castnode entry 1Dstring,input 1,output is:"
217
# node1.inputPorts[1].widget.set('1Dstring')
218
# self.assertEqual(node3.inputPorts[0].getData(),'1')
220
# print "testing castnode entry 1Dtuple,input 1,output is:"
221
# node1.inputPorts[1].widget.set('1Dtuple')
222
# self.assertEqual(node3.inputPorts[0].getData(),'1')
224
# print "testing castnode entry 2Darray,input 1,output is:"
225
# node1.inputPorts[1].widget.set('2Darray')
226
# self.assertEqual(node3.inputPorts[0].getData(),'1')
228
# print "testing castnode entry 2Dcomplex,input 1,output is:"
229
# node1.inputPorts[1].widget.set('2Dcomplex')
230
# self.assertEqual(node3.inputPorts[0].getData(),'1')
232
# print "testing castnode entry 2Ddictionary,input 1,output is:"
233
# node1.inputPorts[1].widget.set('2Ddictionary')
234
# self.assertEqual(node3.inputPorts[0].getData(),'1')
236
# print "testing castnode entry 2Ddouble,input 1,output is:"
237
# node1.inputPorts[1].widget.set('2Ddouble')
238
# self.assertEqual(node3.inputPorts[0].getData(),'1')
240
# print "testing castnode entry 2Dfloat,input 1,output is:"
241
# node1.inputPorts[1].widget.set('2Dfloat')
242
# self.assertEqual(node3.inputPorts[0].getData(),'1')
244
# print "testing castnode entry 2Dint,input 1,output is:"
245
# node1.inputPorts[1].widget.set('2Dint')
246
# self.assertEqual(node3.inputPorts[0].getData(),'1')
248
# print "testing castnode entry 2Dlist,input 1,output is:"
249
# node1.inputPorts[1].widget.set('2Dlist')
250
# self.assertEqual(node3.inputPorts[0].getData(),'1')
252
# print "testing castnode entry 2Dlong,input 1,output is:"
253
# node1.inputPorts[1].widget.set('2Dlong')
254
# self.assertEqual(node3.inputPorts[0].getData(),'1')
256
# print "testing castnode entry 2Dstring,input 1,output is:"
257
# node1.inputPorts[1].widget.set('2Dstring')
258
# self.assertEqual(node3.inputPorts[0].getData(),'1')
260
# node1.inputPorts[1].widget.set('2Dtuple')
261
# print "testing castnode entry 2Dtuple,input 1,output is:"
262
# self.assertEqual(node3.inputPorts[0].getData(),'1')
264
# print "testing castnode entry 3Darray,input 1,output is:"
265
# node1.inputPorts[1].widget.set('3Darray')
266
# self.assertEqual(node3.inputPorts[0].getData(),'1')
268
# print "testing castnode entry 3Dcomplex,input 1,output is:"
269
# node1.inputPorts[1].widget.set('3Dcomplex')
270
# self.assertEqual(node3.inputPorts[0].getData(),'1')
272
# print "testing castnode entry 3Ddictionary,input 1,output is:"
273
# node1.inputPorts[1].widget.set('3Ddictionary')
274
# self.assertEqual(node3.inputPorts[0].getData(),'1')
276
# print "testing castnode entry 3Ddouble,input 1,output is:"
277
# node1.inputPorts[1].widget.set('3Ddouble')
278
# self.assertEqual(node3.inputPorts[0].getData(),'1')
280
# print "testing castnode entry 3Dfloat,input 1,output is:"
281
# node1.inputPorts[1].widget.set('3Dfloat')
282
# self.assertEqual(node3.inputPorts[0].getData(),'1')
284
# print "testing castnode entry 3Dint,input 1,output is:"
285
# node1.inputPorts[1].widget.set('3Dint')
286
# self.assertEqual(node3.inputPorts[0].getData(),'1')
288
# print "testing castnode entry 3Dlist,input 1,output is:"
289
# node1.inputPorts[1].widget.set('3Dlist')
290
# self.assertEqual(node3.inputPorts[0].getData(),'1')
292
# print "testing castnode entry 3Dlong,input 1,output is:"
293
# node1.inputPorts[1].widget.set('3Dlong')
294
# self.assertEqual(node3.inputPorts[0].getData(),'1')
296
# print "testing castnode entry 3Dstring,input 1,output is:"
297
# node1.inputPorts[1].widget.set('3Dstring')
298
# self.assertEqual(node3.inputPorts[0].getData(),'1')
300
# print "testing castnode entry 3Dtuple,input 1,output is:"
301
# node1.inputPorts[1].widget.set('3Dtuple')
302
# self.assertEqual(node3.inputPorts[0].getData(),'1')
304
# print "testing castnode entry 4Darray,input 1,output is:"
305
# node1.inputPorts[1].widget.set('4Darray')
306
# self.assertEqual(node3.inputPorts[0].getData(),'1')
308
# print "testing castnode entry 4Dcomplex,input 1,output is:"
309
# node1.inputPorts[1].widget.set('4Dcomplex')
310
# self.assertEqual(node3.inputPorts[0].getData(),'1')
312
# print "testing castnode entry 4Ddictionary,input 1,output is:"
313
# node1.inputPorts[1].widget.set('4Ddictionary')
314
# self.assertEqual(node3.inputPorts[0].getData(),'1')
316
# print "testing castnode entry 4Ddouble,input 1,output is:"
317
# node1.inputPorts[1].widget.set('4Ddouble')
318
# self.assertEqual(node3.inputPorts[0].getData(),'1')
320
# print "testing castnode entry 4Dfloat,input 1,output is:"
321
# node1.inputPorts[1].widget.set('4Dfloat')
322
# self.assertEqual(node3.inputPorts[0].getData(),'1')
324
# print "testing castnode entry 4Dint,input 1,output is:"
325
# node1.inputPorts[1].widget.set('4Dint')
326
# self.assertEqual(node3.inputPorts[0].getData(),'1')
328
# print "testing castnode entry 4Dlist,input 1,output is:"
329
# node1.inputPorts[1].widget.set('4Dlist')
330
# self.assertEqual(node3.inputPorts[0].getData(),'1')
332
# print "testing castnode entry 4Dlong,input 1,output is:"
333
# node1.inputPorts[1].widget.set('4Dlong')
334
# self.assertEqual(node3.inputPorts[0].getData(),'1')
336
# print "testing castnode entry 4Dstring,input 1,output is:"
337
# node1.inputPorts[1].widget.set('4Dstring')
338
# self.assertEqual(node3.inputPorts[0].getData(),'1')
340
# print "testing castnode entry 4Dtuple,input 1,output is:"
341
# node1.inputPorts[1].widget.set('4Dtuple')
342
# self.assertEqual(node3.inputPorts[0].getData(),'1')
344
# print "testing castnode entry 5Darray,input 1,output is:"
345
# node1.inputPorts[1].widget.set('5Darray')
346
# self.assertEqual(node3.inputPorts[0].getData(),'1')
348
# print "testing castnode entry 5Dcomplex,input 1,output is:"
349
# node1.inputPorts[1].widget.set('5Dcomplex')
350
# self.assertEqual(node3.inputPorts[0].getData(),'1')
352
# print "testing castnode entry 5Ddictionary,input 1,output is:"
353
# node1.inputPorts[1].widget.set('5Ddictionary')
354
# self.assertEqual(node3.inputPorts[0].getData(),'1')
356
# print "testing castnode entry 5Ddouble,input 1,output is:"
357
# node1.inputPorts[1].widget.set('5Ddouble')
358
# self.assertEqual(node3.inputPorts[0].getData(),'1')
360
# print "testing castnode entry 5Dfloat,input 1,output is:"
361
# node1.inputPorts[1].widget.set('5Dfloat')
362
# self.assertEqual(node3.inputPorts[0].getData(),'1')
364
# print "testing castnode entry 5Dint,input 1,output is:"
365
# node1.inputPorts[1].widget.set('5Dint')
366
# self.assertEqual(node3.inputPorts[0].getData(),'1')
368
# print "testing castnode entry 5Dlist,input 1,output is:"
369
# node1.inputPorts[1].widget.set('5Dlist')
370
# self.assertEqual(node3.inputPorts[0].getData(),'1')
372
# print "testing castnode entry 5Dlong,input 1,output is:"
373
# node1.inputPorts[1].widget.set('5Dlong')
374
# self.assertEqual(node3.inputPorts[0].getData(),'1')
376
# print "testing castnode entry 5Dstring,input 1,output is:"
377
# node1.inputPorts[1].widget.set('5Dstring')
378
# self.assertEqual(node3.inputPorts[0].getData(),'1')
380
# print "testing castnode entry 5Dtuple,input 1,output is:"
381
# node1.inputPorts[1].widget.set('5Dtuple')
382
# self.assertEqual(node3.inputPorts[0].getData(),'1')
384
# print "testing castnode entry 6Darray,input 1,output is:"
385
# node1.inputPorts[1].widget.set('6Darray')
386
# self.assertEqual(node3.inputPorts[0].getData(),'1')
388
# print "testing castnode entry 6Dcomplex,input 1,output is:"
389
# node1.inputPorts[1].widget.set('6Dcomplex')
390
# self.assertEqual(node3.inputPorts[0].getData(),'1')
392
# print "testing castnode entry 6Ddictionary,input 1,output is:"
393
# node1.inputPorts[1].widget.set('6Ddictionary')
394
# self.assertEqual(node3.inputPorts[0].getData(),'1')
396
# print "testing castnode entry 6Ddouble,input 1,output is:"
397
# node1.inputPorts[1].widget.set('6Ddouble')
398
# self.assertEqual(node3.inputPorts[0].getData(),'1')
400
# print "testing castnode entry 6Dfloat,input 1,output is:"
401
# node1.inputPorts[1].widget.set('6Dfloat')
402
# self.assertEqual(node3.inputPorts[0].getData(),'1')
404
# print "testing castnode entry 6Dint,input 1,output is:"
405
# node1.inputPorts[1].widget.set('6Dint')
406
# self.assertEqual(node3.inputPorts[0].getData(),'1')
408
# print "testing castnode entry 6Dlist,input 1,output is:"
409
# node1.inputPorts[1].widget.set('6Dlist')
410
# self.assertEqual(node3.inputPorts[0].getData(),'1')
412
# print "testing castnode entry 6Dlong,input 1,output is:"
413
# node1.inputPorts[1].widget.set('6Dlong')
414
# self.assertEqual(node3.inputPorts[0].getData(),'1')
416
# print "testing castnode entry 6Dstring,input 1,output is:"
417
# node1.inputPorts[1].widget.set('6Dstring')
418
# self.assertEqual(node3.inputPorts[0].getData(),'1')
420
# print "testing castnode entry 6Dtuple,input 1,output is:"
421
# node1.inputPorts[1].widget.set('6Dtuple')
422
# self.assertEqual(node3.inputPorts[0].getData(),'1')
424
print "testing castnode entry None,input 1,output is:"
425
node1.inputPorts[1].widget.set('None')
426
self.assertEqual(node3.inputPorts[0].getData(),'1')
428
print "testing castnode entry NumericArray,input 1,output is:"
429
node1.inputPorts[1].widget.set('NumericArray')
430
self.assertEqual(node3.inputPorts[0].getData(),'1')
432
#print "testing castnode entry array,input 1,output is:"
433
#node1.inputPorts[1].widget.set('array')
434
#self.assertEqual(node3.inputPorts[0].getData(),'1')
436
#print "testing castnode entry dict,input 1,output is:"
437
#node1.inputPorts[1].widget.set('dict')
438
#self.assertEqual(node3.inputPorts[0].getData(),'1')
440
print "testing castnode entry float,input 1,output is:"
441
node1.inputPorts[1].widget.set('float')
442
self.assertEqual(node3.inputPorts[0].getData(),1.0)
445
# print "testing castnode entry instanceMatrices,input 1,output is:"
446
# node1.inputPorts[1].widget.set('instancemat')
447
# self.assertEqual(node3.inputPorts[0].getData(),1.0)
450
print "testing castnode entry string,input 1,output is:"
451
node1.inputPorts[1].widget.set('string')
452
self.assertEqual(node3.inputPorts[0].getData(),'1')
454
print "testing castnode entry triggerIn,input 1,output is:"
455
node1.inputPorts[1].widget.set('triggerIn')
456
self.assertEqual(node3.inputPorts[0].getData(),'1')
458
print "testing castnode entry triggerIn,input 1,output is:"
459
node1.inputPorts[1].widget.set('triggerIn')
460
self.assertEqual(node3.inputPorts[0].getData(),'1')
462
print "testing castnode entry tuple,input 1,output is:"
463
node1.inputPorts[1].widget.set('tuple')
464
self.assertEqual(node3.inputPorts[0].getData(),('1',))
466
print "testing castnode entry vector,input 1,output is:"
467
node1.inputPorts[1].widget.set('vector')
468
self.assertEqual(node3.inputPorts[0].getData(),('1',))
471
def test_filter_duplicate(self):
472
"""tests duplicate node when input is 1,p,[0] and entry is 2
474
from Vision.StandardNodes import stdlib
475
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
476
ed.master.update_idletasks()
478
net = ed.currentNetwork
479
net.runOnNewData.value = True
481
node1 = Vision.StandardNodes.Duplicate(library =Vision.StandardNodes.stdlib)
482
net.addNode(node1,150,150)
484
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
485
net.addNode(node2,50,50)
487
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
488
net.addNode(node3,200,50)
490
net.connectNodes(node1,node3)
491
net.connectNodes(node2,node1)
492
#toggle node to expand
493
node1.toggleNodeExpand_cb()
494
#setting values to duplicate node and entry node
495
node2.inputPorts[0].widget.set(1)
496
node1.inputPorts[1].widget.set(2)
497
print "tests when duplicate node entry 2,input 1,output is:"
498
ed.master.update_idletasks()
500
self.assertEqual(node3.inputPorts[0].getData(),['1', '1'])
501
print "tests when duplicate node entry 2,input p,output is:"
502
node2.inputPorts[0].widget.set('p')
503
ed.master.update_idletasks()
505
self.assertEqual(node3.inputPorts[0].getData(),['p', 'p'])
506
print "tests when duplicate node entry 2,input [0],output is:"
507
node2.inputPorts[0].widget.set([0])
508
ed.master.update_idletasks()
510
self.assertEqual(node3.inputPorts[0].getData(),['[0]', '[0]'])
514
# def Xtest_filter_index(self):
515
# """tests index node when input is hello and entry 1
517
# from Vision.StandardNodes import stdlib
518
# ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
519
# ed.master.update_idletasks()
521
# net = ed.currentNetwork
523
# node1 = Vision.StandardNodes.Index(library =Vision.StandardNodes.stdlib)
524
# net.addNode(node1,150,150)
526
# node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
527
# net.addNode(node2,50,50)
529
# node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
530
# net.addNode(node3,200,50)
532
# net.connectNodes(node1,node3)
533
# net.connectNodes(node2,node1)
534
# node1.toggleNodeExpand_cb()
535
# #setting values for index,entry nodes
536
# print "tests when indexnode entry is 1,input hello,output:"
537
# node2.inputPorts[0].widget.set("hello")
538
# node1.inputPorts[1].widget.set(1)
539
# ed.master.update_idletasks()
541
# self.assertEqual(node3.inputPorts[0].getData(),'e')
542
# print "tests when indexnode entry is 1,input 759087436,output:"
543
# node2.inputPorts[0].widget.set("759087436")
544
# ed.master.update_idletasks()
546
# self.assertEqual(node3.inputPorts[0].getData(),'5')
547
# print "tests when indexnode entry is 9,input is 75908743674 ,output is :"
548
# node2.inputPorts[0].widget.set("75908743674")
549
# node1.inputPorts[1].widget.set(9)
550
# ed.master.update_idletasks()
552
# self.assertEqual(node3.inputPorts[0].getData(),'7')
553
# #raising IndexError but not catching it
554
# #self.assertRaises(IndexError,node2.inputPorts[0].widget.set,' ')
556
def test_filter_listOf(self):
557
"""tests listOf node when input is 12 output is [12]
559
from Vision.StandardNodes import stdlib
560
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
561
ed.master.update_idletasks()
563
net = ed.currentNetwork
565
node1 = Vision.StandardNodes.ListOf(library =Vision.StandardNodes.stdlib)
566
net.addNode(node1,150,150)
568
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
569
net.addNode(node2,50,50)
571
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
572
net.addNode(node3,200,50)
573
node2.addOutputPort()
574
node2.setFunction("def doit(self):\n\tself.outputData(out0=12)\n")
575
net.connectNodes(node1,node3)
576
print "tests when listOfnode ,input 12 ,output :"
577
#adding an input port for list of
579
#connecting generic nad list of node
580
port3 =node2.outputPorts[0]
581
port4 =node1.inputPorts[1]
582
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
583
ed.runCurrentNet_cb()
584
self.assertEqual(node3.inputPorts[0].getData(),[12])
586
def test_filter_operator_2_apply_to_elments_1(self):
588
from Vision.StandardNodes import stdlib
589
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
590
ed.master.update_idletasks()
592
net = ed.currentNetwork
594
node1 = Vision.StandardNodes.Operator2(library =Vision.StandardNodes.stdlib)
595
net.addNode(node1,150,150)
597
node0 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
598
net.addNode(node0,50,50)
600
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
601
net.addNode(node2,200,10)
603
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
604
net.addNode(node3,400,100)
605
#adding outports and setting edit functions for generic nodes
606
node0.addOutputPort()
607
node0.setFunction("def doit(self):\n\tself.outputData(out0=['1','2','3','4','5'])\n")
608
node2.addOutputPort()
609
node2.setFunction("def doit(self):\n\tself.outputData(out0=['6','7','8','9','10'])\n")
610
#toggle On apply to elements button
611
node1.inputPorts[3].widget.set(1)
613
net.connectNodes(node1,node3)
614
#connecting first generic node to operator2
615
port3 =node0.outputPorts[0]
616
port4 =node1.inputPorts[0]
617
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
618
#connecting second generic node to operator2
619
port3 =node2.outputPorts[0]
620
port4 =node1.inputPorts[1]
621
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
622
print "tests operator2 entry concat,input ['1','2','3','4','5'],['6','7','8','9','10'],apply to elements On,output is:"
623
node1.inputPorts[2].widget.set('concat')
624
ed.runCurrentNet_cb()
625
ed.master.update_idletasks()
627
self.assertEqual(node3.inputPorts[0].getData(),['16', '27', '38', '49', '510'])
628
print "tests operator2 entry contains,input ['1','2','3','4','5'],['6','7','8','9','10'],apply to elements On,output is:"
629
node1.inputPorts[2].widget.set('contains')
630
ed.runCurrentNet_cb()
631
ed.master.update_idletasks()
633
self.assertEqual(node3.inputPorts[0].getData(),[False, False, False, False, False])
634
print "tests operator2 entry countOf,input ['1','2','3','4','5'],['6','7','8','9','10'],apply to elements On,output is:"
635
node1.inputPorts[2].widget.set('countOf')
636
ed.runCurrentNet_cb()
637
ed.master.update_idletasks()
639
self.assertEqual(node3.inputPorts[0].getData(),[0, 0, 0, 0, 0])
641
def test_filter_operator_2_apply_to_elments_2(self):
643
from Vision.StandardNodes import stdlib
644
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
645
ed.master.update_idletasks()
647
net = ed.currentNetwork
648
net.runOnNewData.value = True
650
node1 = Vision.StandardNodes.Operator2(library =Vision.StandardNodes.stdlib)
651
net.addNode(node1,150,150)
653
node0 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
654
net.addNode(node0,50,50)
656
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
657
net.addNode(node2,200,10)
659
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
660
net.addNode(node3,400,100)
661
#adding outports ,setting edit functions for generic node
662
node0.addOutputPort()
663
node0.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5])\n")
664
node2.addOutputPort()
665
node2.setFunction("def doit(self):\n\tself.outputData(out0=[6,7,8,9,10])\n")
666
#toggle On apply to elements button
667
node1.inputPorts[3].widget.set(1)
669
net.connectNodes(node1,node3)
670
port3 =node0.outputPorts[0]
671
port4 =node1.inputPorts[0]
672
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
673
port3 =node2.outputPorts[0]
674
port4 =node1.inputPorts[1]
675
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
676
#setting operation lt in operator2
677
print "tests operator2 entry lt,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On ,output is:"
678
node1.inputPorts[2].widget.set('lt')
679
ed.runCurrentNet_cb()
680
ed.master.update_idletasks()
682
self.assertEqual(node3.inputPorts[0].getData(),[True, True, True, True, True])
683
print "tests operator2 entry le,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
684
#setting operation le in operator2
685
node1.inputPorts[2].widget.set('le')
686
ed.master.update_idletasks()
688
self.assertEqual(node3.inputPorts[0].getData(),[True, True, True, True, True])
689
print "tests operator2 entry eq,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
690
#setting operation eq in operator2
691
node1.inputPorts[2].widget.set('eq')
692
ed.master.update_idletasks()
694
self.assertEqual(node3.inputPorts[0].getData(),[False, False, False, False, False])
695
print "tests operator2 entry ne,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
696
#setting operation ne in operator2
697
node1.inputPorts[2].widget.set('ne')
698
ed.master.update_idletasks()
700
self.assertEqual(node3.inputPorts[0].getData(),[True, True, True, True, True])
701
print "tests operator2 entry gt,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
702
#setting operation gt in operator2
703
node1.inputPorts[2].widget.set('gt')
704
ed.master.update_idletasks()
706
self.assertEqual(node3.inputPorts[0].getData(),[False, False, False, False, False])
707
print "tests operator2 entry ge,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
708
#setting operation ge in operator2
709
node1.inputPorts[2].widget.set('ge')
710
ed.master.update_idletasks()
712
self.assertEqual(node3.inputPorts[0].getData(),[False, False, False, False, False])
713
print "tests operator2 entry is_,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
714
#setting operation is_ in operator2
715
node1.inputPorts[2].widget.set('is_')
716
ed.master.update_idletasks()
718
self.assertEqual(node3.inputPorts[0].getData(),[False, False, False, False, False])
719
print "tests operator2 entry is_not,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
720
#setting operation is_not in operator2
721
node1.inputPorts[2].widget.set('is_not')
722
ed.master.update_idletasks()
724
self.assertEqual(node3.inputPorts[0].getData(),[True, True, True, True, True])
725
print "tests operator2 entry add,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
726
#setting operation add in opeartor2
727
node1.inputPorts[2].widget.set('add')
728
ed.master.update_idletasks()
730
self.assertEqual(node3.inputPorts[0].getData(),[7, 9, 11, 13, 15])
731
print "tests operator2 entry div,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
732
#setting opeartion div in opeartor2
733
node1.inputPorts[2].widget.set('div')
734
ed.master.update_idletasks()
736
self.assertEqual(node3.inputPorts[0].getData(),[0, 0, 0, 0, 0])
737
print "tests operator2 entry floordiv,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
738
#setting opeartion floordiv in opeartor2
739
node1.inputPorts[2].widget.set('floordiv')
740
ed.master.update_idletasks()
742
self.assertEqual(node3.inputPorts[0].getData(),[0, 0, 0, 0, 0])
743
print "tests operator2 entry mod,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
744
#setting opeartion mod in opeartor2
745
node1.inputPorts[2].widget.set('mod')
746
ed.master.update_idletasks()
748
self.assertEqual(node3.inputPorts[0].getData(),[1, 2, 3, 4, 5])
749
print "tests operator2 entry mul,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
750
#setting opeartion mul in opeartor2
751
node1.inputPorts[2].widget.set('mul')
752
ed.master.update_idletasks()
754
self.assertEqual(node3.inputPorts[0].getData(),[6, 14, 24, 36, 50])
755
print "tests operator2 entry pow,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
756
#setting opeartion pow in opeartor2
757
node1.inputPorts[2].widget.set('pow')
758
ed.runCurrentNet_cb()
759
ed.master.update_idletasks()
761
self.assertEqual(node3.inputPorts[0].getData(),[1, 128, 6561, 262144, 9765625])
762
print "tests operator2 entry sub,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
763
#setting opeartion sub in opeartor2
764
node1.inputPorts[2].widget.set('sub')
765
ed.master.update_idletasks()
767
self.assertEqual(node3.inputPorts[0].getData(),[-5, -5, -5, -5, -5])
768
print "tests operator2 entry rshift,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
769
#setting opeartion rshift in opeartor2
770
node1.inputPorts[2].widget.set('rshift')
771
ed.master.update_idletasks()
773
self.assertEqual(node3.inputPorts[0].getData(),[0, 0, 0, 0, 0])
774
print "tests operator2 entry lshift,input [1,2,3,4,5],[6,7,8,9,10],apply to elements On,output is:"
775
#setting opeartion lshift in opeartor2
776
node1.inputPorts[2].widget.set('lshift')
777
ed.master.update_idletasks()
779
self.assertEqual(node3.inputPorts[0].getData(),[64, 256, 768, 2048, 5120])
782
def test_filter_operator_2_1(self):
783
from Vision.StandardNodes import stdlib
784
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
785
ed.master.update_idletasks()
787
net = ed.currentNetwork
788
net.runOnNewData.value = True
790
node1 = Vision.StandardNodes.Operator2(library =Vision.StandardNodes.stdlib)
791
net.addNode(node1,150,150)
793
node0 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
794
net.addNode(node0,50,50)
796
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
797
net.addNode(node2,200,10)
799
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
800
net.addNode(node3,400,100)
801
#adding outports ,setting edit functions for generic node
802
node0.addOutputPort()
803
node0.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5])\n")
804
node2.addOutputPort()
805
node2.setFunction("def doit(self):\n\tself.outputData(out0 = 3)\n")
806
net.connectNodes(node1,node3)
807
port3 =node0.outputPorts[0]
808
port4 =node1.inputPorts[0]
809
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
810
port3 =node2.outputPorts[0]
811
port4 =node1.inputPorts[1]
812
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
813
print "tests operator2 entry indexOf,input [1,2,3,4,5],3,output:"
814
node1.inputPorts[2].widget.set('indexOf')
815
ed.runCurrentNet_cb()
816
self.assertEqual(node3.inputPorts[0].getData(),2)
817
print "tests operator2 entry getitem,input [1,2,3,4,5],3,output:"
818
node1.inputPorts[2].widget.set('getitem')
819
self.assertEqual(node3.inputPorts[0].getData(),4)
820
print "tests operator2 entry delitem,input [1,2,3,4,5],3,output:"
821
node1.inputPorts[2].widget.set('delitem')
822
self.assertEqual(node3.inputPorts[0].getData(),[1,2,3,5])
825
def test_filter_Operator2(self):
826
"""tests operator2 entry lt,le,eq,ne,gt,ge,is_,is_not,concat,contains,countOf,input through entry buttons
828
from Vision.StandardNodes import stdlib
829
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
830
ed.master.update_idletasks()
832
net = ed.currentNetwork
833
net.runOnNewData.value = True
835
node1 = Vision.StandardNodes.Operator2(library =Vision.StandardNodes.stdlib)
836
net.addNode(node1,150,150)
838
node0 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
839
net.addNode(node0,50,50)
841
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
842
net.addNode(node2,200,10)
844
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
845
net.addNode(node3,400,100)
847
net.connectNodes(node1,node3)
848
port1 = node2.inputPorts[0]
849
port2 = node1.inputPorts[0]
850
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
851
port3 =node0.inputPorts[0]
852
port4 =node1.inputPorts[1]
853
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
854
node0.inputPorts[0].widget.set(10)
855
node2.inputPorts[0].widget.set(20)
856
print "tests operator2 entry lt,input 10,20,output:"
858
node1.inputPorts[2].widget.set('lt')
859
ed.master.update_idletasks()
861
self.assertEqual(node3.inputPorts[0].getData(),False)
862
print "tests operator2 entry le,input 10,20,output:"
864
node1.inputPorts[2].widget.set('le')
865
ed.master.update_idletasks()
867
self.assertEqual(node3.inputPorts[0].getData(),False)
868
print "tests operator2 entry eq,input 10,20,output:"
870
node1.inputPorts[2].widget.set('eq')
871
ed.master.update_idletasks()
873
self.assertEqual(node3.inputPorts[0].getData(),False)
874
print "tests operator2 entry ne,input 10,20,output:"
876
node1.inputPorts[2].widget.set('ne')
877
ed.master.update_idletasks()
879
self.assertEqual(node3.inputPorts[0].getData(),True)
880
print "tests operator2 entry gt,input 10,20,output:"
882
node1.inputPorts[2].widget.set('gt')
883
ed.master.update_idletasks()
885
self.assertEqual(node3.inputPorts[0].getData(),True)
886
print "tests operator2 entry ge,input 10,20,output:"
888
node1.inputPorts[2].widget.set('ge')
889
ed.master.update_idletasks()
891
self.assertEqual(node3.inputPorts[0].getData(),True)
892
print "tests operator2 entry is_,input 10,20,output:"
893
#setting operator is_
894
node1.inputPorts[2].widget.set('is_')
895
ed.master.update_idletasks()
897
self.assertEqual(node3.inputPorts[0].getData(),False)
898
print "tests operator2 entry is_not,input 10,20,output:"
899
#setting operator is_not
900
node1.inputPorts[2].widget.set('is_not')
901
ed.master.update_idletasks()
903
ed.master.update_idletasks()
905
self.assertEqual(node3.inputPorts[0].getData(),True)
906
print "tests operator2 entry concat,input 10,20,output:"
907
#setting operator concat
908
node1.inputPorts[2].widget.set('concat')
909
ed.master.update_idletasks()
911
self.assertEqual(node3.inputPorts[0].getData(),'2010')
912
print "tests operator2 entry contains,input 10,20,output:"
913
#setting operator contains
914
node1.inputPorts[2].widget.set('contains')
915
ed.master.update_idletasks()
917
self.assertEqual(node3.inputPorts[0].getData(),False)
918
print "tests operator2 entry countOf,input 10,20,output:"
919
#setting operator countOf
920
node1.inputPorts[2].widget.set('countOf')
921
ed.master.update_idletasks()
923
self.assertEqual(node3.inputPorts[0].getData(),0)
926
def test_filter_operator2_2(self):
927
"""tests operator2 entry add,div,floordiv,mod,mul,pow,lshift,rshift,input through entry button
929
from Vision.StandardNodes import stdlib
930
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
931
ed.master.update_idletasks()
933
net = ed.currentNetwork
934
net.runOnNewData.value = True
936
node1 = Vision.StandardNodes.Operator2(library =Vision.StandardNodes.stdlib)
938
net.addNode(node1,150,150)
940
node0 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
942
net.addNode(node0,50,50)
943
#node2 is entry button2
944
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
946
net.addNode(node2,200,10)
948
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
950
net.addNode(node3,400,100)
951
#connecting operator2 and print
952
net.connectNodes(node1,node3)
953
#connecting entry button1 o/p to operator2 i/p
954
port1 = node2.outputPorts[0]
955
port2 = node1.inputPorts[0]
956
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
957
#connecting entry button2 o/p to operator2 i/p
958
port3 =node0.inputPorts[0]
959
port4 =node1.inputPorts[1]
960
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
962
#setting value in entry button 1
963
node0.inputPorts[0].widget.set(20)
964
#setting value in entry button 2
965
node2.inputPorts[0].widget.set(10)
966
#setting output ports of entry button1 data type to int
967
node0.outputPorts[0].edit()
968
node0.outputPorts[0].objEditor.dataType.set('int')
969
node0.outputPorts[0].objEditor.OK()
970
#setting input port1 of opeartor 2 data type to int
971
node1.inputPorts[0].edit()
972
node1.inputPorts[0].objEditor.dataType.set('int')
973
node1.inputPorts[0].objEditor.OK()
974
#setting output ports of entry button2 data type to int
975
node2.outputPorts[0].edit()
976
node2.outputPorts[0].objEditor.dataType.set('int')
977
node2.outputPorts[0].objEditor.OK()
978
#setting input port2 of opeartor 2 data type to int
979
node1.inputPorts[1].edit()
980
node1.inputPorts[1].objEditor.dataType.set('int')
981
node1.inputPorts[1].objEditor.OK()
982
#setting operation add in opeartor2
983
print "tests operator2 entry add ,input 20,10,output is:"
984
node1.inputPorts[2].widget.set('add')
985
ed.runCurrentNet_cb()
986
#ed.master.update_idletasks()
988
self.assertEqual(node3.inputPorts[0].getData(),30)
989
print "tests operator2 entry div ,input 20,10,output is:"
990
#setting opeartion div in opeartor2
991
node1.inputPorts[2].widget.set('div')
992
ed.master.update_idletasks()
994
self.assertEqual(node3.inputPorts[0].getData(),0)
995
print "tests operator2 entry floordiv ,input 20,10,output is:"
996
#setting opeartion floordiv in opeartor2
997
node1.inputPorts[2].widget.set('floordiv')
998
ed.master.update_idletasks()
1000
self.assertEqual(node3.inputPorts[0].getData(),0)
1001
print "tests operator2 entry mod ,input 20,10,output is:"
1002
#setting opeartion mod in opeartor2
1003
node1.inputPorts[2].widget.set('mod')
1004
ed.master.update_idletasks()
1006
self.assertEqual(node3.inputPorts[0].getData(),10)
1007
print "tests operator2 entry mul ,input 20,10,output is:"
1008
#setting opeartion mul in opeartor2
1009
node1.inputPorts[2].widget.set('mul')
1010
ed.master.update_idletasks()
1012
self.assertEqual(node3.inputPorts[0].getData(),200)
1013
#setting value in entry button 1
1014
node0.inputPorts[0].widget.set(2)
1015
#setting value in entry button 2
1016
node2.inputPorts[0].widget.set(1)
1017
#setting opeartion pow in opeartor2
1018
print "tests operator2 entry pow ,input 20,10,output is:"
1019
node1.inputPorts[2].widget.set('pow')
1020
ed.runCurrentNet_cb()
1021
ed.master.update_idletasks()
1023
self.assertEqual(node3.inputPorts[0].getData(),1)
1024
#setting opeartion sub in opeartor2
1025
print "tests operator2 entry sub ,input 20,10,output is:"
1026
node1.inputPorts[2].widget.set('sub')
1027
ed.master.update_idletasks()
1029
self.assertEqual(node3.inputPorts[0].getData(),-1)
1030
#setting opeartion rshift in opeartor2
1031
print "tests operator2 entry rshift ,input 20,10,output is:"
1032
node1.inputPorts[2].widget.set('rshift')
1033
ed.master.update_idletasks()
1035
self.assertEqual(node3.inputPorts[0].getData(),0)
1036
#setting opeartion lshift in opeartor2
1037
print "tests operator2 entry lshift ,input 20,10,output is:"
1038
node1.inputPorts[2].widget.set('lshift')
1039
ed.master.update_idletasks()
1041
self.assertEqual(node3.inputPorts[0].getData(),4)
1043
def test_filter_pass(self):
1044
"""tests pass,input through entry button
1046
from Vision.StandardNodes import stdlib
1047
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1048
ed.master.update_idletasks()
1050
net = ed.currentNetwork
1052
node1 = Vision.StandardNodes.Pass(library =Vision.StandardNodes.stdlib)
1053
net.addNode(node1,150,150)
1055
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
1056
net.addNode(node2,200,10)
1058
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1059
net.addNode(node3,400,100)
1061
net.connectNodes(node1,node3)
1062
net.connectNodes(node2,node1)
1063
print "tests pass button,input 2,output is:"
1064
node2.inputPorts[0].widget.set(2)
1065
ed.runCurrentNet_cb()
1066
self.assertEqual(node3.inputPorts[0].getData(),'2')
1068
def test_filter_opeartor_1_apply_to_elements(self):
1069
"""tests operator1 entry abs,not_,truth,inv,neg,pos,input through generic is [1, 2, 3, 4, 5]
1071
from Vision.StandardNodes import stdlib
1072
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1073
ed.master.update_idletasks()
1075
net = ed.currentNetwork
1076
net.runOnNewData.value = True
1078
node1 = Vision.StandardNodes.Operator1(library =Vision.StandardNodes.stdlib)
1080
net.addNode(node1,150,150)
1081
#node2 is entry button
1082
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
1084
net.addNode(node2,200,10)
1086
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1088
net.addNode(node3,400,100)
1089
node2.addOutputPort()
1090
node2.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5])\n")
1091
node1.inputPorts[2].widget.set(1)
1092
net.connectNodes(node1,node3)
1093
net.connectNodes(node2,node1)
1094
#setting 'abs' in operator1
1095
print "tests operator1 entry abs,input [1,2,3,4,5],apply to elements button On,ouput:"
1096
node1.inputPorts[1].widget.set('abs')
1097
ed.runCurrentNet_cb()
1098
self.assertEqual(str(node3.inputPorts[0].getData()),'[1, 2, 3, 4, 5]')
1099
#setting 'not_' in operator1
1100
print "tests operator1 entry not_,input [1,2,3,4,5],apply to elements button On,ouput:"
1101
node1.inputPorts[1].widget.set('not_')
1102
self.assertEqual(str(node3.inputPorts[0].getData()),'[False, False, False, False, False]')
1103
#setting 'truth' in operator1
1104
print "tests operator1 entry truth,input [1,2,3,4,5],apply to elements button On,ouput:"
1105
node1.inputPorts[1].widget.set('truth')
1106
self.assertEqual(str(node3.inputPorts[0].getData()),'[True, True, True, True, True]')
1107
#setting 'inv' in operator1
1108
print "tests operator1 entry inv,input [1,2,3,4,5],apply to elements button On,ouput:"
1109
node1.inputPorts[1].widget.set('inv')
1110
self.assertEqual(str(node3.inputPorts[0].getData()),'[-2, -3, -4, -5, -6]')
1111
#setting 'neg' in operator1
1112
print "tests operator1 entry neg,input [1,2,3,4,5],apply to elements button On,ouput:"
1113
node1.inputPorts[1].widget.set('neg')
1114
self.assertEqual(str(node3.inputPorts[0].getData()),'[-1, -2, -3, -4, -5]')
1115
#setting 'pos' in operator1
1116
print "tests operator1 entry pos,input [1,2,3,4,5],apply to elements button On,ouput:"
1117
node1.inputPorts[1].widget.set('pos')
1118
self.assertEqual(str(node3.inputPorts[0].getData()),'[1, 2, 3, 4, 5]')
1120
def test_filter_opeartor_1(self):
1121
"""operator1 entry abs,not_,truth,inv,neg,pos ,input through entry
1124
from Vision.StandardNodes import stdlib
1125
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1126
ed.master.update_idletasks()
1128
net = ed.currentNetwork
1129
net.runOnNewData.value = True
1131
node1 = Vision.StandardNodes.Operator1(library =Vision.StandardNodes.stdlib)
1133
net.addNode(node1,150,150)
1134
#node2 is entry button
1135
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
1137
net.addNode(node2,200,10)
1139
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1141
net.addNode(node3,400,100)
1143
net.connectNodes(node1,node3)
1144
net.connectNodes(node2,node1)
1145
#setting output ports of entry button1 data type to int
1146
node2.outputPorts[0].edit()
1147
node2.outputPorts[0].objEditor.dataType.set('int')
1148
node2.outputPorts[0].objEditor.OK()
1149
#setting input port1 of opeartor 2 data type to int
1150
node1.inputPorts[0].edit()
1151
node1.inputPorts[0].objEditor.dataType.set('int')
1152
node1.inputPorts[0].objEditor.OK()
1153
#setting value in entry
1154
node2.inputPorts[0].widget.set(70)
1155
#setting 'abs' in operator1
1156
print "tests operator1 entry abs,input 70,output is:"
1157
node1.inputPorts[1].widget.set('abs')
1158
self.assertEqual(node3.inputPorts[0].getData(),70)
1159
#setting 'not_' in operator1
1160
print "tests operator1 entry not_,input 70,output is:"
1161
node1.inputPorts[1].widget.set('not_')
1162
self.assertEqual(node3.inputPorts[0].getData(),False)
1163
#setting 'truth' in operator1
1164
print "tests operator1 entry truth,input 70,output is:"
1165
node1.inputPorts[1].widget.set('truth')
1166
self.assertEqual(node3.inputPorts[0].getData(),True)
1167
#setting 'inv' in operator1
1168
print "tests operator1 entry inv,input 70,output is:"
1169
node1.inputPorts[1].widget.set('inv')
1170
self.assertEqual(node3.inputPorts[0].getData(),-71)
1171
#setting 'neg' in operator1
1172
print "tests operator1 entry neg,input 70,output is:"
1173
node1.inputPorts[1].widget.set('neg')
1174
self.assertEqual(node3.inputPorts[0].getData(),-70)
1175
#setting 'pos' in operator1
1176
print "tests operator1 entry pos,input 70,output is:"
1177
node1.inputPorts[1].widget.set('pos')
1178
self.assertEqual(node3.inputPorts[0].getData(),70)
1182
def test_filter_slice_1_input_through_generic(self):
1183
"""tests slice when input is ['1','2','3','4','5']
1185
from Vision.StandardNodes import stdlib
1186
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1187
ed.master.update_idletasks()
1189
net = ed.currentNetwork
1191
node1 = Vision.StandardNodes.Slice(library =Vision.StandardNodes.stdlib)
1193
net.addNode(node1,150,150)
1195
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
1197
net.addNode(node2,200,10)
1199
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1201
net.addNode(node3,400,100)
1202
node2.addOutputPort()
1203
node2.setFunction("def doit(self):\n\tself.outputData(out0=['1','2','3','4','5'])\n")
1205
net.connectNodes(node1,node3)
1206
net.connectNodes(node2,node1)
1207
node1.toggleNodeExpand_cb()
1209
print "tests slice from 1,to 0,step 1,input ['1','2','3','4','5'],output :"
1210
node1.inputPorts[1].widget.set(1)
1211
ed.runCurrentNet_cb()
1212
ed.master.update_idletasks()
1214
#self.assertEqual(node3.inputPorts[0].getData(), 'Stop')
1215
self.assertEqual(node3.inputPorts[0].getData(),[])
1216
print "tests slice from 1,to 3,step 1,input ['1','2','3','4','5'],output :"
1217
node1.inputPorts[2].widget.set(3)
1219
ed.master.update_idletasks()
1221
self.assertEqual(node3.inputPorts[0].getData(),['2', '3'])
1222
print "tests slice from 1,to 3,step 2,input ['1','2','3','4','5'],output :"
1223
node1.inputPorts[3].widget.set(2)
1225
ed.master.update_idletasks()
1227
self.assertEqual(node3.inputPorts[0].getData(),['2'])
1229
def test_filter_slice_1_input_through_entry(self):
1230
"""tests slicing list Range->slice->print
1232
from Vision.StandardNodes import stdlib
1233
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1234
ed.master.update_idletasks()
1236
net = ed.currentNetwork
1237
net.runOnNewData.value = True
1239
#node1 is a Range Node
1240
node1 = Vision.StandardNodes.Range(library =Vision.StandardNodes.stdlib)
1243
node2 = Vision.StandardNodes.Slice(library =Vision.StandardNodes.stdlib)
1246
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1249
net.addNode(node1,100,20)
1250
net.addNode(node2,100,190)
1251
net.addNode(node3,100,230)
1254
net.connectNodes(node1,node2)
1255
net.connectNodes(node2,node3)
1256
node1.inputPorts[1].widget.set(10)
1258
print "testing that range 1 to 0 with step 1 fives empty list"
1259
node2.inputPorts[1].widget.set(1)
1260
ed.master.update_idletasks()
1262
#self.assertEqual(node3.inputPorts[0].getData(),'Stop')
1263
self.assertEqual(node3.inputPorts[0].getData(),[])
1264
print "tests slice to 3,input through entry button [1,2,3,4,5,6,7,8,9],output is:"
1265
node2.inputPorts[2].widget.set(3)
1267
ed.master.update_idletasks()
1269
self.assertEqual(node3.inputPorts[0].getData(),[1,2])
1270
print "tests slice from 1,to 3,step 2,input through entry button [1,2,3,4,5,6,7,8,9],output is:"
1271
node2.inputPorts[3].widget.set(2)
1273
ed.master.update_idletasks()
1275
self.assertEqual(node3.inputPorts[0].getData(),[1])
1278
def test_filter_slicedata(self):
1280
from Vision.StandardNodes import stdlib
1281
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1282
ed.master.update_idletasks()
1284
net = ed.currentNetwork
1285
net.runOnNewData.value = True
1287
node1 = Vision.StandardNodes.SliceData(library =Vision.StandardNodes.stdlib)
1289
net.addNode(node1,150,150)
1291
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
1293
net.addNode(node2,200,10)
1295
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1297
net.addNode(node3,400,100)
1299
node2.addOutputPort()
1300
net.connectNodes(node1,node3)
1301
net.connectNodes(node2,node1)
1302
node1.toggleNodeExpand_cb()
1303
node2.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5,6,7,8,9])\n")
1304
ed.runCurrentNet_cb()
1305
print "tests slicedata entry [1:4],input is [1,2,3,4,5,6,7,8,9],output:"
1306
node1.inputPorts[1].widget.set('[1:4]')
1307
self.assertEqual(node3.inputPorts[0].getData(),[2,3,4])
1311
############################################################
1312
# Numeric Nodes Tests #
1313
############################################################
1315
def test_filter_AsType(self):
1317
from Vision.StandardNodes import stdlib
1318
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1319
ed.master.update_idletasks()
1321
net = ed.currentNetwork
1322
net.runOnNewData.value = True
1324
node1 = Vision.StandardNodes.AsType(library =Vision.StandardNodes.stdlib)
1326
net.addNode(node1,150,150)
1327
#node2 is entry button
1328
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
1330
net.addNode(node2,200,10)
1332
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1334
net.addNode(node3,400,100)
1336
net.connectNodes(node1,node3)
1337
net.connectNodes(node2,node1)
1338
node1.toggleNodeExpand_cb()
1339
#setting input ports datatype int
1340
node2.outputPorts[0].edit()
1341
node2.outputPorts[0].objEditor.dataType.set('list')
1342
node2.outputPorts[0].objEditor.OK()
1343
#node1.inputPorts[1].widget.set('Character')
1344
#ed.master.update_idletasks()
1346
#self.assertEqual(node3.inputPorts[0].getData(),[[2,3,]])
1347
print "tests AsType entry complex,input is [1,2],output:"
1348
node1.inputPorts[1].widget.set('Complex')
1349
node2.inputPorts[0].widget.set([1,2])
1350
ed.master.update_idletasks()
1352
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91.+0.j 49.+0.j 44.+0.j 32.+0.j 50.+0.j 93.+0.j]')
1353
lTestList = [ (1.+0.j), (2.+0.j) ]
1354
for i in range(len(lTestList)):
1355
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1356
print "tests AsType entry complex0,input is [1,2],output:"
1357
node1.inputPorts[1].widget.set('Complex0')
1358
ed.master.update_idletasks()
1360
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91.+0.j 49.+0.j 44.+0.j 32.+0.j 50.+0.j 93.+0.j]')
1361
for i in range(len(lTestList)):
1362
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1363
print "tests AsType entry complex16,input is [1,2],output:"
1364
node1.inputPorts[1].widget.set('Complex16')
1365
ed.master.update_idletasks()
1367
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91.+0.j 49.+0.j 44.+0.j 32.+0.j 50.+0.j 93.+0.j]')
1368
for i in range(len(lTestList)):
1369
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1370
print "tests AsType entry complex32,input is [1,2],output:"
1371
node1.inputPorts[1].widget.set('Complex32')
1372
ed.master.update_idletasks()
1374
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91.+0.j 49.+0.j 44.+0.j 32.+0.j 50.+0.j 93.+0.j]')
1375
for i in range(len(lTestList)):
1376
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1377
print "tests AsType entry complex64,input is [1,2],output:"
1378
node1.inputPorts[1].widget.set('Complex64')
1379
ed.master.update_idletasks()
1381
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91.+0.j 49.+0.j 44.+0.j 32.+0.j 50.+0.j 93.+0.j]')
1382
for i in range(len(lTestList)):
1383
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1384
print "tests AsType entry complex8,input is [1,2],output:"
1385
node1.inputPorts[1].widget.set('Complex8')
1386
ed.master.update_idletasks()
1388
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91.+0.j 49.+0.j 44.+0.j 32.+0.j 50.+0.j 93.+0.j]')
1389
for i in range(len(lTestList)):
1390
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1391
print "tests AsType entry Float,input is [1,2],output:"
1392
node1.inputPorts[1].widget.set('Float')
1393
ed.master.update_idletasks()
1395
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91. 49. 44. 32. 50. 93.]')
1396
#lTestList = [ 91., 49., 44., 32., 50., 93.]
1397
lTestList = [ 1., 2. ]
1398
for i in range(len(lTestList)):
1399
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1400
print "tests AsType entry Float0,input is [1,2],output:"
1401
node1.inputPorts[1].widget.set('Float0')
1402
ed.master.update_idletasks()
1404
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91. 49. 44. 32. 50. 93.]')
1405
for i in range(len(lTestList)):
1406
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1407
print "tests AsType entry Float16,input is [1,2],output:"
1408
node1.inputPorts[1].widget.set('Float16')
1409
ed.master.update_idletasks()
1411
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91. 49. 44. 32. 50. 93.]')
1412
for i in range(len(lTestList)):
1413
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1414
print "tests AsType entry Float32,input is [1,2],output:"
1415
node1.inputPorts[1].widget.set('Float32')
1416
ed.master.update_idletasks()
1418
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91. 49. 44. 32. 50. 93.]')
1419
for i in range(len(lTestList)):
1420
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1421
print "tests AsType entry Float64,input is [1,2],output:"
1422
node1.inputPorts[1].widget.set('Float64')
1423
ed.master.update_idletasks()
1425
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91. 49. 44. 32. 50. 93.]')
1426
for i in range(len(lTestList)):
1427
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1428
print "tests AsType entry Float8,input is [1,2],output:"
1429
node1.inputPorts[1].widget.set('Float8')
1430
ed.master.update_idletasks()
1432
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 91. 49. 44. 32. 50. 93.]')
1433
for i in range(len(lTestList)):
1434
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1435
print "tests AsType entry Int,input is [1,2],output:"
1436
node1.inputPorts[1].widget.set('Int')
1437
ed.master.update_idletasks()
1439
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1440
#lTestList = [ 91, 49, 44, 32, 50, 93]
1442
for i in range(len(lTestList)):
1443
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1444
print "tests AsType entry Int0,input is [1,2],output:"
1445
node1.inputPorts[1].widget.set('Int0')
1446
ed.master.update_idletasks()
1448
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1449
for i in range(len(lTestList)):
1450
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1451
print "tests AsType entry Int16,input is [1,2],output:"
1452
node1.inputPorts[1].widget.set('Int16')
1453
ed.master.update_idletasks()
1455
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1456
for i in range(len(lTestList)):
1457
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1458
print "tests AsType entry Int32,input is [1,2],output:"
1459
node1.inputPorts[1].widget.set('Int32')
1460
ed.master.update_idletasks()
1462
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1463
for i in range(len(lTestList)):
1464
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1465
print "tests AsType entry Int8,input is [1,2],output:"
1466
node1.inputPorts[1].widget.set('Int8')
1467
ed.master.update_idletasks()
1469
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1470
for i in range(len(lTestList)):
1471
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1472
print "tests AsType entry UInt,input is [1,2],output:"
1473
node1.inputPorts[1].widget.set('uint')
1474
ed.master.update_idletasks()
1476
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1479
for i in range(len(lTestList)):
1480
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1481
print "tests AsType entry UInt16,input is [1,2],output:"
1482
node1.inputPorts[1].widget.set('UInt16')
1483
ed.master.update_idletasks()
1485
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1486
for i in range(len(lTestList)):
1487
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1488
print "tests AsType entry UInt32,input is [1,2],output:"
1489
node1.inputPorts[1].widget.set('UInt32')
1490
ed.master.update_idletasks()
1492
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1493
for i in range(len(lTestList)):
1494
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1495
print "tests AsType entry UInt8,input is [1,2],output:"
1496
node1.inputPorts[1].widget.set('UInt8')
1497
ed.master.update_idletasks()
1499
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1500
for i in range(len(lTestList)):
1501
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1502
print "tests AsType entry UnsignedInt16,input is [1,2],output:"
1503
node1.inputPorts[1].widget.set('UnsignedInt16')
1504
ed.master.update_idletasks()
1506
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1507
for i in range(len(lTestList)):
1508
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1509
print "tests AsType entry UnsignedInt32,input is [1,2],output:"
1510
node1.inputPorts[1].widget.set('UnsignedInt32')
1511
ed.master.update_idletasks()
1513
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1514
for i in range(len(lTestList)):
1515
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1516
print "tests AsType entry UnsignedInteger,input is [1,2],output:"
1517
node1.inputPorts[1].widget.set('unsignedinteger')
1518
ed.master.update_idletasks()
1520
#self.assertEqual(str(node3.inputPorts[0].getData()),'[91 49 44 32 50 93]')
1521
for i in range(len(lTestList)):
1522
self.assertEqual(node3.inputPorts[0].getData()[i], lTestList[i])
1524
def test_Numeric_ArrayFunc1(self):
1525
"""tests arrayfunc1 arccosh,arcsinh,arctan,cos,cosh,exp,log,log10,sin,sinh,sqrt,tan,tanh,input is
1528
from Vision.StandardNodes import stdlib
1529
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1530
ed.master.update_idletasks()
1532
net = ed.currentNetwork
1533
#node1 is Unary Func
1534
node1 = Vision.StandardNodes.UnaryFuncs(library =Vision.StandardNodes.stdlib)
1536
net.addNode(node1,150,150)
1538
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1540
net.addNode(node3,400,100)
1542
node4 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
1544
net.addNode(node4,200,100)
1545
node4.addOutputPort()
1547
net.connectNodes(node4,node1)
1548
net.connectNodes(node1,node3)
1549
node4.setFunction("def doit(self):\n\tself.outputData(out0=[10,20,30])\n")
1550
#node1.inputPorts[1].widget.set('Character')
1551
#ed.master.update_idletasks()
1553
#self.assertEqual(node3.inputPorts[0].getData(),[[2,3,]])
1554
node1.toggleNodeExpand_cb()
1555
print "tests arrayfunc1 entry cos,input [10,20,30],output :"
1556
node1.inputPorts[1].widget.set('cos')
1558
ed.runCurrentNet_cb()
1559
#self.assertEqual(str(node3.inputPorts[0].getData()),'[-0.83907153 0.40808206 0.15425145]')
1560
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.cos(10))
1561
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.cos(20))
1562
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.cos(30))
1564
print "tests arrayfunc1 entry cosh,input [10,20,30],output :"
1565
node1.inputPorts[1].widget.set('cosh')
1567
ed.master.update_idletasks()
1569
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 1.10132329e+04 2.42582598e+08 5.34323729e+012]')
1570
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.cosh(10))
1571
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.cosh(20))
1572
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.cosh(30))
1573
print "tests arrayfunc1 entry exp,input [10,20,30],output :"
1574
node1.inputPorts[1].widget.set('exp')
1576
ed.master.update_idletasks()
1578
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 2.20264658e+04 4.85165195e+08 1.06864746e+13]')
1579
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.exp(10))
1580
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.exp(20))
1581
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.exp(30))
1582
print "tests arrayfunc1 entry log,input [10,20,30],output :"
1583
node1.inputPorts[1].widget.set('log')
1585
ed.master.update_idletasks()
1587
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 2.30258509 2.99573227 3.40119738]')
1588
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.log(10))
1589
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.log(20))
1590
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.log(30))
1591
print "tests arrayfunc1 entry log10,input [10,20,30],output :"
1592
node1.inputPorts[1].widget.set('log10')
1594
ed.master.update_idletasks()
1596
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 1. 1.30103 1.47712125]')
1597
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.log10(10))
1598
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.log10(20))
1599
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.log10(30))
1600
print "tests arrayfunc1 entry sin,input [10,20,30],output :"
1601
node1.inputPorts[1].widget.set('sin')
1603
ed.master.update_idletasks()
1605
#self.assertEqual(str(node3.inputPorts[0].getData()),'[-0.54402111 0.91294525 -0.98803162]')
1606
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.sin(10))
1607
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.sin(20))
1608
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.sin(30))
1609
print "tests arrayfunc1 entry sinh,input [10,20,30],output :"
1610
node1.inputPorts[1].widget.set('sinh')
1612
ed.master.update_idletasks()
1614
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 1.10132329e+04 2.42582598e+08 5.34323729e+12]')
1615
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.sinh(10))
1616
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.sinh(20))
1617
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.sinh(30))
1618
print "tests arrayfunc1 entry sqrt,input [10,20,30],output :"
1619
node1.inputPorts[1].widget.set('sqrt')
1621
ed.master.update_idletasks()
1623
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 3.16227766 4.47213595 5.47722558]')
1624
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.sqrt(10))
1625
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.sqrt(20))
1626
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.sqrt(30))
1627
print "tests arrayfunc1 entry tan,input [10,20,30],output :"
1628
node1.inputPorts[1].widget.set('tan')
1630
ed.master.update_idletasks()
1632
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 0.64836083 2.23716094 -6.4053312 ]')
1633
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.tan(10))
1634
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.tan(20))
1635
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.tan(30))
1636
print "tests arrayfunc1 entry tanh,input [10,20,30],output :"
1637
node1.inputPorts[1].widget.set('tanh')
1639
ed.master.update_idletasks()
1641
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 1. 1. 1.]')
1642
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.tanh(10))
1643
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.tanh(20))
1644
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.tanh(30))
1645
print "tests arrayfunc1 entry arccosh,input [10,20,30],output :"
1646
node1.inputPorts[1].widget.set('arccosh')
1648
ed.master.update_idletasks()
1650
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 2.99322285 3.68825387 4.09406667]')
1651
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.arccosh(10))
1652
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.arccosh(20))
1653
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.arccosh(30))
1654
print "tests arrayfunc1 entry arcsinh,input [10,20,30],output :"
1655
node1.inputPorts[1].widget.set('arcsinh')
1657
ed.master.update_idletasks()
1659
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 2.99822295 3.68950387 4.09462222]')
1660
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.arcsinh(10))
1661
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.arcsinh(20))
1662
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.arcsinh(30))
1663
print "tests arrayfunc1 entry arctan,input [10,20,30],output :"
1664
node1.inputPorts[1].widget.set('arctan')
1666
ed.master.update_idletasks()
1668
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 1.47112767 1.52083793 1.53747533]')
1669
self.assertEqual(node3.inputPorts[0].getData()[0], Numeric.arctan(10))
1670
self.assertEqual(node3.inputPorts[0].getData()[1], Numeric.arctan(20))
1671
self.assertEqual(node3.inputPorts[0].getData()[2], Numeric.arctan(30))
1674
def test_Numeric_ArrayFunc2(self):
1675
"""tests Arrayfunc2 add,substract,multiply,divide,power,remainder inputs are [3,4,5],[10,20,30]
1677
from Vision.StandardNodes import stdlib
1678
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1679
ed.master.update_idletasks()
1681
net = ed.currentNetwork
1682
net.runOnNewData.value = True
1683
#node1 is Binary Func
1684
node1 = Vision.StandardNodes.BinaryFuncs(library =Vision.StandardNodes.stdlib)
1686
net.addNode(node1,150,150)
1688
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
1690
net.addNode(node2,20,20)
1692
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1694
net.addNode(node3,400,100)
1696
node4 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
1698
net.addNode(node4,200,100)
1699
node4.addOutputPort()
1700
node2.addOutputPort()
1702
net.connectNodes(node4,node1)
1703
net.connectNodes(node1,node3)
1704
port1 = node2.outputPorts[0]
1705
port2 = node1.inputPorts[1]
1706
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
1707
node2.setFunction("def doit(self):\n\tself.outputData(out0=[3,4,5])\n")
1708
node4.setFunction("def doit(self):\n\tself.outputData(out0=[10,20,30])\n")
1709
node1.toggleNodeExpand_cb()
1710
print "tests arrayfunc2 add,input [3,4,5],[10,20,30],output:"
1711
node1.inputPorts[2].widget.set('add')
1712
ed.runCurrentNet_cb()
1713
#self.assertEqual(str(node3.inputPorts[0].getData()),'[13 24 35]')
1714
self.assertEqual(node3.inputPorts[0].getData()[0], 13)
1715
self.assertEqual(node3.inputPorts[0].getData()[1], 24)
1716
self.assertEqual(node3.inputPorts[0].getData()[2], 35)
1717
print "tests arrayfunc2 subtract,input [3,4,5],[10,20,30],output:"
1718
node1.inputPorts[2].widget.set('subtract')
1719
ed.master.update_idletasks()
1721
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 7 16 25]')
1722
self.assertEqual(node3.inputPorts[0].getData()[0], 7)
1723
self.assertEqual(node3.inputPorts[0].getData()[1], 16)
1724
self.assertEqual(node3.inputPorts[0].getData()[2], 25)
1725
print "tests arrayfunc2 multiply,input [3,4,5],[10,20,30],output:"
1726
node1.inputPorts[2].widget.set('multiply')
1727
ed.master.update_idletasks()
1729
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 30 80 150]')
1730
self.assertEqual(node3.inputPorts[0].getData()[0], 30)
1731
self.assertEqual(node3.inputPorts[0].getData()[1], 80)
1732
self.assertEqual(node3.inputPorts[0].getData()[2], 150)
1733
print "tests arrayfunc2 divide,input [3,4,5],[10,20,30],output:"
1734
node1.inputPorts[2].widget.set('divide')
1735
ed.master.update_idletasks()
1737
#self.assertEqual(str(node3.inputPorts[0].getData()),'[3 5 6]')
1738
self.assertEqual(node3.inputPorts[0].getData()[0], 3)
1739
self.assertEqual(node3.inputPorts[0].getData()[1], 5)
1740
self.assertEqual(node3.inputPorts[0].getData()[2], 6)
1741
print "tests arrayfunc2 remainder,input [3,4,5],[10,20,30],output:"
1742
node1.inputPorts[2].widget.set('remainder')
1743
ed.master.update_idletasks()
1745
#self.assertEqual(str(node3.inputPorts[0].getData()),'[1 0 0]')
1746
self.assertEqual(node3.inputPorts[0].getData()[0], 1)
1747
self.assertEqual(node3.inputPorts[0].getData()[1], 0)
1748
self.assertEqual(node3.inputPorts[0].getData()[2], 0)
1749
print "tests arrayfunc2 power,input [3,4,5],[10,20,30],output:"
1750
node1.inputPorts[2].widget.set('power')
1751
ed.master.update_idletasks()
1753
#self.assertEqual(str(node3.inputPorts[0].getData()),'[ 1000 160000 24300000]')
1754
self.assertEqual(node3.inputPorts[0].getData()[0], 1000)
1755
self.assertEqual(node3.inputPorts[0].getData()[1], 160000)
1756
self.assertEqual(node3.inputPorts[0].getData()[2], 24300000)
1759
def test_Input_button(self):
1762
from Vision.StandardNodes import stdlib
1763
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1764
ed.master.update_idletasks()
1766
net = ed.currentNetwork
1767
node1 = Vision.StandardNodes.ButtonNE(library =Vision.StandardNodes.stdlib)
1769
net.addNode(node1,150,150)
1771
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1773
net.addNode(node3,400,100)
1774
net.connectNodes(node1,node3)
1775
print "tests button,toggle on,output:"
1776
node1.inputPorts[0].widget.set(1)
1778
self.assertEqual(node3.inputPorts[0].getData(),1)
1781
def test_Input_checkbutton(self):
1782
"""tests checkbutton on or off
1784
from Vision.StandardNodes import stdlib
1785
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1786
ed.master.update_idletasks()
1788
net = ed.currentNetwork
1789
node1 = Vision.StandardNodes.CheckButtonNE(library =Vision.StandardNodes.stdlib)
1791
net.addNode(node1,150,150)
1793
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1795
net.addNode(node3,400,100)
1796
net.connectNodes(node1,node3)
1797
print "tests check button toggle on,off,output:"
1798
node1.inputPorts[0].widget.set(1)
1800
self.assertEqual(node3.inputPorts[0].getData(),1)
1801
node1.inputPorts[0].widget.set(0)
1803
self.assertEqual(node3.inputPorts[0].getData(),0)
1805
def test_Input_Dial(self):
1806
"""tests dial setting input and getting output
1808
from Vision.StandardNodes import stdlib
1809
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1810
ed.master.update_idletasks()
1812
net = ed.currentNetwork
1813
node1 = Vision.StandardNodes.DialNE(library =Vision.StandardNodes.stdlib)
1815
net.addNode(node1,150,150)
1817
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1819
net.addNode(node3,400,100)
1820
net.connectNodes(node1,node3)
1821
print "tests dial setting 10,output:"
1822
node1.inputPorts[0].widget.set(10)
1824
self.assertEqual(round(node3.inputPorts[0].getData()),10)
1826
def test_Input_Entry(self):
1827
"""tests entry node setting values
1829
from Vision.StandardNodes import stdlib
1830
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1831
ed.master.update_idletasks()
1833
net = ed.currentNetwork
1834
node1 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
1836
net.addNode(node1,150,150)
1838
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1840
net.addNode(node3,400,100)
1841
net.connectNodes(node1,node3)
1842
print "tests entry button setting a,output is :"
1843
node1.inputPorts[0].widget.set('a')
1845
self.assertEqual(node3.inputPorts[0].getData(),'a')
1846
print "tests entry button setting '1',output is :"
1847
node1.inputPorts[0].widget.set(1)
1849
self.assertEqual(node3.inputPorts[0].getData(),'1')
1851
def test_Input_vector3DNE(self):
1852
"""tests vector3D by setting a value
1854
from Vision.StandardNodes import stdlib
1855
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1856
ed.master.update_idletasks()
1858
net = ed.currentNetwork
1859
node1 = Vision.StandardNodes.Vector3DNE(library =Vision.StandardNodes.stdlib)
1861
net.addNode(node1,150,150)
1863
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1865
net.addNode(node3,400,100)
1866
net.connectNodes(node1,node3)
1867
node1.toggleNodeExpand_cb()
1868
print "tests vector3DNE entry [1,1,1],output:"
1869
node1.inputPorts[0].widget.set([1,1,1])
1871
x = node3.inputPorts[0].getData()
1873
for i in range(0,len(x)):
1875
self.assertEqual(z,[1.0,1.0,1.0])
1877
def test_Input_fileBrowser(self):
1878
"""tests file browser
1880
from Vision.StandardNodes import stdlib
1881
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1882
ed.master.update_idletasks()
1884
net = ed.currentNetwork
1885
node1 = Vision.StandardNodes.FileBrowserNE(library =Vision.StandardNodes.stdlib)
1887
net.addNode(node1,150,150)
1889
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1891
net.addNode(node3,400,100)
1892
net.connectNodes(node1,node3)
1893
node1.toggleNodeExpand_cb()
1894
print "tests file browser entry 'note1',output:"
1895
node1.inputPorts[0].widget.set('note1')
1897
self.assertEqual(node3.inputPorts[0].getData(),'note1')
1901
def test_Input_filelist(self):
1903
from Vision.StandardNodes import stdlib
1904
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1905
ed.master.update_idletasks()
1907
net = ed.currentNetwork
1908
node1 = Vision.StandardNodes.Filelist(library =Vision.StandardNodes.stdlib)
1910
net.addNode(node1,150,150)
1912
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1914
net.addNode(node3,400,100)
1915
net.connectNodes(node1,node3)
1916
node1.toggleNodeExpand_cb()
1917
print "tests filelist entry *note1*,output:"
1918
node1.inputPorts[0].widget.set(os.getcwd()+'/*note1*')
1920
self.assertEqual(node3.inputPorts[0].getData(),[os.path.abspath('note1')])
1923
def test_Input_filename(self):
1925
from Vision.StandardNodes import stdlib
1926
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1927
ed.master.update_idletasks()
1929
net = ed.currentNetwork
1930
node1 = Vision.StandardNodes.Filename(library =Vision.StandardNodes.stdlib)
1932
net.addNode(node1,50,50)
1933
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
1935
net.addNode(node2,150,150)
1937
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1939
net.addNode(node3,400,100)
1940
port2 = node1.inputPorts[1]
1941
port1 = node2.outputPorts[0]
1942
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
1944
#net.connectNodes(node2,node1)
1945
net.connectNodes(node1,node3)
1946
node1.toggleNodeExpand_cb()
1947
#setting outputPorts datatype as int
1948
node2.outputPorts[0].edit()
1949
node2.outputPorts[0].objEditor.dataType.set('int')
1950
node2.outputPorts[0].objEditor.OK()
1951
print "tests filename entry 9,output:"
1952
node2.inputPorts[0].widget.set(9)
1954
self.assertEqual(str(node3.inputPorts[0].getData()),'file00000009.png')
1958
def test_Input_MulticheckButton(self):
1960
from Vision.StandardNodes import stdlib
1961
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1962
ed.master.update_idletasks()
1964
net = ed.currentNetwork
1965
net.runOnNewData.value = True
1966
node1 = Vision.StandardNodes.MultiCheckbuttonsNE(library =Vision.StandardNodes.stdlib)
1968
net.addNode(node1,150,150)
1969
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
1971
net.addNode(node2,200,10)
1973
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
1975
net.addNode(node3,400,100)
1976
node2.inputPorts[0].widget.set('abcd')
1977
net.connectNodes(node2,node1)
1978
port1 = node1.outputPorts[2]
1979
port2 = node3.inputPorts[0]
1980
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
1981
node1.toggleNodeExpand_cb()
1982
print "tests MulticheckButton entry a,b,c,d On,output:"
1983
x = node1.inputPorts[1].widget
1984
x.widget.reSelect('a','check')
1985
x.widget.reSelect('b','check')
1986
x.widget.reSelect('c','check')
1987
x.widget.reSelect('d','check')
1988
ed.runCurrentNet_cb()
1989
ed.master.update_idletasks()
1991
self.assertEqual(node3.inputPorts[0].getData(),[('a', 1), ('b', 1), ('c', 1), ('d', 1)])
1992
node1.toggleNodeExpand_cb()
1994
def test_Input_Generic(self):
1996
from Vision.StandardNodes import stdlib
1997
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
1998
ed.master.update_idletasks()
2000
net = ed.currentNetwork
2001
node1 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2003
net.addNode(node1,200,10)
2005
node2 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2006
net.addNode(node2,100,100)
2007
node1.addOutputPort()
2008
node1.setFunction("def doit(self):\n\tself.outputData(out0=[10,20,30])\n")
2009
print "tests generic entry [10,20,30],ouput:"
2010
net.connectNodes(node1,node2)
2011
ed.runCurrentNet_cb()
2012
self.assertEqual(node2.inputPorts[0].getData(),[10,20,30])
2015
def test_Input_Read_Lines(self):
2016
from Vision.StandardNodes import stdlib
2017
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2018
ed.master.update_idletasks()
2020
net = ed.currentNetwork
2021
node1 = Vision.StandardNodes.ReadFile(library =Vision.StandardNodes.stdlib)
2023
net.addNode(node1,200,10)
2025
node2 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2026
net.addNode(node2,100,100)
2027
net.connectNodes(node1,node2)
2028
print "tests Readlines entry myfile,output:"
2029
node1.inputPorts[0].widget.set(os.path.abspath('myfile'))
2031
self.assertEqual(node2.inputPorts[0].getData()[0],'Hi This file is created for tests')
2034
def test_input_thumbwheel(self):
2035
from Vision.StandardNodes import stdlib
2036
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2037
ed.master.update_idletasks()
2039
net = ed.currentNetwork
2040
node1 = Vision.StandardNodes.ThumbWheelNE(library =Vision.StandardNodes.stdlib)
2042
net.addNode(node1,200,10)
2044
node2 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2045
net.addNode(node2,100,100)
2046
net.connectNodes(node1,node2)
2047
print "tests Thumbwheel entry 10,output:"
2048
node1.inputPorts[0].widget.set(10)
2050
ed.master.update_idletasks()
2052
self.assertEqual(round(node2.inputPorts[0].getData()),10)
2055
def test_input_ScrolledText(self):
2056
from Vision.StandardNodes import stdlib
2057
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2058
ed.master.update_idletasks()
2060
net = ed.currentNetwork
2061
net.runOnNewData.value = True
2062
node1 = Vision.StandardNodes.ScrolledTextNE(library =Vision.StandardNodes.stdlib)
2064
net.addNode(node1,200,10)
2066
node2 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2067
net.addNode(node2,100,100)
2068
net.connectNodes(node1,node2)
2069
print "tests ScrolledText entry 'Hi how are you?',output:"
2070
node1.inputPorts[0].widget.set("Hi how are you?")
2071
ed.master.update_idletasks()
2073
self.assertEqual(node2.inputPorts[0].getData(),"Hi how are you?\n")
2076
def test_input_comboBox(self):
2077
from Vision.StandardNodes import stdlib
2078
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2079
ed.master.update_idletasks()
2081
net = ed.currentNetwork
2082
net.runOnNewData.value = True
2084
node1 = Vision.StandardNodes.ComboBoxNE(library =Vision.StandardNodes.stdlib)
2086
net.addNode(node1,150,150)
2088
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2090
net.addNode(node2,200,10)
2092
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2094
net.addNode(node3,400,100)
2096
node2.addOutputPort()
2097
node2.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5,6,7])\n")
2098
net.connectNodes(node1,node3)
2099
net.connectNodes(node2,node1)
2100
node1.toggleNodeExpand_cb()
2101
ed.runCurrentNet_cb()
2102
print "tests combobox entry 3,input [1,2,3,4,5,6,7],output:"
2103
node1.inputPorts[2].widget.set('3')
2104
ed.master.update_idletasks()
2106
self.assertEqual(node3.inputPorts[0].getData(),3)
2107
print "tests combobox entry 6,input [1,2,3,4,5,6,7],output:"
2108
node1.inputPorts[2].widget.set('6')
2109
ed.master.update_idletasks()
2111
self.assertEqual(node3.inputPorts[0].getData(),6)
2114
def test_Input_read_field(self):
2115
if (sys.platform == 'linux2') and (os.popen('uname -m').read() == 'x86_64\n'):
2117
from Vision.StandardNodes import stdlib
2118
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2119
ed.master.update_idletasks()
2121
net = ed.currentNetwork
2123
node1 = Vision.StandardNodes.ReadField(library =Vision.StandardNodes.stdlib)
2125
net.addNode(node1,150,150)
2127
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2129
net.addNode(node3,400,100)
2130
net.connectNodes(node1,node3)
2131
print "tests readfield entry myfile2,output:"
2132
node1.inputPorts[0].widget.set(os.path.abspath('myfile2'))
2133
ed.runCurrentNet_cb()
2134
#self.assertEqual(str(node3.inputPorts[0].getData()),'[1 2 3 4]')
2135
self.assertEqual(node3.inputPorts[0].getData()[0], 1)
2136
self.assertEqual(node3.inputPorts[0].getData()[1], 2)
2137
self.assertEqual(node3.inputPorts[0].getData()[2], 3)
2138
self.assertEqual(node3.inputPorts[0].getData()[3], 4)
2141
def test_read_table(self):
2142
from Vision.StandardNodes import stdlib
2143
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2144
ed.master.update_idletasks()
2146
net = ed.currentNetwork
2148
node1 = Vision.StandardNodes.ReadTable(library =Vision.StandardNodes.stdlib)
2150
net.addNode(node1,150,150)
2152
node2 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2154
net.addNode(node2,400,100)
2155
net.connectNodes(node1,node2)
2156
node1.toggleNodeExpand_cb()
2157
node1.inputPortByName['datatype'].widget.set('int')
2158
print "tests read table note,output:"
2159
node1.inputPorts[0].widget.set(os.path.abspath('note'))
2160
ed.runCurrentNet_cb()
2161
self.assertEqual(str(node2.inputPorts[0].getData()),'[[1], [2], [3], [4], [5], [6], [7], [8], [9]]')
2164
#########################################################
2165
# Python Nodes Tests #
2166
#########################################################
2169
def test_Python_while(self):
2170
from Vision.StandardNodes import stdlib
2171
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2172
ed.master.update_idletasks()
2174
net = ed.currentNetwork
2176
node1 = Vision.StandardNodes.While(library =Vision.StandardNodes.stdlib)
2178
net.addNode(node1,50,50)
2180
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2182
net.addNode(node2,100,100)
2184
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2186
net.addNode(node3,200,200)
2188
node4 = Vision.StandardNodes.Counter(library =Vision.StandardNodes.stdlib)
2189
net.addNode(node4,300,300)
2190
#node5 is IsTrue_Stop
2191
node5 = Vision.StandardNodes.IsTrue_Stop(library =Vision.StandardNodes.stdlib)
2192
net.addNode(node5,200,50)
2193
node2.addOutputPort()
2194
print "tests while val1 = 2,when input is 2,cond <4,counter,is true stop"
2195
node2.setFunction("def doit(self):\n\tself.outputData(out0=2)")
2196
node1.setFunction("def doit(self, condition, val1=None, val2=None, val3=None):\n iter = 0\n net = self.network\n p = self.getOutputPortByName('run')\n roots = map( lambda x: x.node, p.children )\n allNodes = net.getAllNodes(roots)\n if self in allNodes:\n allNodes.remove(self)\n \n while True:\n # get a dict of {'portname':values}\n d = self.refreshInputPortData()\n # set the function arguments to the current values\n for k,v in d.items():\n # if it is a string we want the set the variable to the string\n # rather than evaluating the string\n if type(v) is types.StringType:\n exec('%s=str(%s)'%(k,v))\n else: # we assign the value (NOT SURE THIS WORKS WITH OBJECTS!)\n exec('%s=%s'%(k,str(v)))\n net.canvas.update()\n stop = self.network.checkExecStatus()\n if stop:\n break\n if not eval(condition):\n break\n self.outputData(run=1)\n self.forceExecution = 1\n # this is needed for iterate inside macros to fire children of\n # macro nodes when macronetwork isnot current network\n self.network.forceExecution = 1\n\n if len(allNodes):\n net.runNodes(allNodes)\n\n if iter<4:\n iter = iter + 1\n else:\n break\n")
2197
node1.inputPorts[0].widget.set('val1 == 2')
2198
node5.inputPorts[1].widget.set('data < 4')
2199
port1 = node2.outputPorts[0]
2200
port2 = node1.inputPorts[1]
2201
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2202
port1 = node4.outputPorts[1]
2203
port2 = node5.inputPorts[0]
2204
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2205
#net.connectnodes(node4,node5)
2206
net.connectNodes(node1,node4)
2207
net.connectNodes(node5,node3)
2208
ed.master.update_idletasks()
2210
ed.runCurrentNet_cb()
2211
#tests last value printed <4
2212
self.assertEqual(node3.inputPorts[0].getData(),'Stop')
2215
def test_Python_len(self):
2216
from Vision.StandardNodes import stdlib
2217
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2218
ed.master.update_idletasks()
2220
net = ed.currentNetwork
2222
node1 = Vision.StandardNodes.Len(library =Vision.StandardNodes.stdlib)
2224
net.addNode(node1,150,150)
2226
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2228
net.addNode(node2,200,10)
2230
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2232
net.addNode(node3,400,100)
2233
node2.addOutputPort()
2234
node2.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5,6,7])\n")
2235
net.connectNodes(node1,node3)
2236
print "tests len ,input [1,2,3,4,5,6,7],output:"
2237
net.connectNodes(node2,node1)
2238
ed.runCurrentNet_cb()
2239
self.assertEqual(node3.inputPorts[0].getData(),7)
2240
print "tests len ,input 'abcdefgh',output:"
2241
node2.setFunction("def doit(self):\n\tself.outputData(out0='abcdefgh')\n")
2242
ed.runCurrentNet_cb()
2243
self.assertEqual(node3.inputPorts[0].getData(),8)
2245
def test_Python_range(self):
2246
from Vision.StandardNodes import stdlib
2247
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2248
ed.master.update_idletasks()
2250
net = ed.currentNetwork
2252
node1 = Vision.StandardNodes.Range(library =Vision.StandardNodes.stdlib)
2254
net.addNode(node1,150,150)
2256
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2258
net.addNode(node3,400,100)
2259
print "tests range from 1,to 10,step 2,output:"
2260
net.connectNodes(node1,node3)
2261
node1.inputPorts[0].widget.set(1)
2262
node1.inputPorts[1].widget.set(10)
2263
node1.inputPorts[2].widget.set(2)
2265
self.assertEqual(str(node3.inputPorts[0].getData()),'[1, 3, 5, 7, 9]')
2268
def test_Python_built_in(self):
2269
from Vision.StandardNodes import stdlib
2270
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2271
ed.master.update_idletasks()
2273
net = ed.currentNetwork
2275
node1 = Vision.StandardNodes.Builtin(library =Vision.StandardNodes.stdlib)
2277
net.addNode(node1,150,150)
2279
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2281
net.addNode(node2,50,50)
2283
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2285
net.addNode(node3,400,100)
2286
node1.toggleNodeExpand_cb()
2287
net.connectNodes(node1,node3)
2288
net.connectNodes(node2,node1)
2289
node2.inputPorts[0].widget.set(89)
2290
#setting output ports of entry button1 data type to int
2291
node2.outputPorts[0].edit()
2292
node2.outputPorts[0].objEditor.dataType.set('int')
2293
node2.outputPorts[0].objEditor.OK()
2294
#setting input ports
2295
node1.inputPorts[0].edit()
2296
node1.inputPorts[0].objEditor.dataType.set('int')
2297
node1.inputPorts[0].objEditor.OK()
2298
ed.master.update_idletasks()
2300
#setting input in built in func
2301
ed.runCurrentNet_cb()
2302
print "tests builtin entry lambda x:x+x,input 89,output:"
2303
node1.inputPorts[1].widget.set('lambda x:x+x')
2305
self.assertEqual(node3.inputPorts[0].getData(),178)
2306
print "tests builtin entry lambda x:x*x,input 89,output:"
2307
node1.inputPorts[1].widget.set('lambda x:x*x')
2309
self.assertEqual(node3.inputPorts[0].getData(),7921)
2312
def test_Python_iterate(self):
2313
from Vision.StandardNodes import stdlib
2314
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2315
ed.master.update_idletasks()
2317
net = ed.currentNetwork
2319
node1 = Vision.StandardNodes.Iterate(library =Vision.StandardNodes.stdlib)
2321
net.addNode(node1,150,150)
2323
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2325
net.addNode(node2,200,10)
2327
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2329
net.addNode(node3,400,100)
2330
node2.addOutputPort()
2331
node2.setFunction("def doit(self):\n\tself.outputData(out0=[10,20,30])\n")
2332
print "tests iterate ,input [10,20,30]:,,connecting print with,outputport0,output:"
2333
net.connectNodes(node2,node1)
2334
#connecting print with iterate outputport0(one item of the list)
2335
port3 =node1.outputPorts[0]
2336
port4 =node3.inputPorts[0]
2337
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
2338
ed.runCurrentNet_cb()
2339
self.assertEqual(node3.inputPorts[0].getData(),30)
2340
net.deleteConnectionsNoCB(net.connections[1])
2341
#connecting print with iterate outputport1(the current index into the list of items to iterate over)
2342
print "tests iterate ,input [10,20,30]:,,connecting print with,outputport1,output:"
2343
port3 =node1.outputPorts[1]
2344
port4 =node3.inputPorts[0]
2345
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
2346
self.assertEqual(node3.inputPorts[0].getData(),2)
2347
net.deleteConnectionsNoCB(net.connections[1])
2348
#connecting print with iterate outputport2(at the begin of an iteration, output True)
2349
print "tests iterate ,input [10,20,30]:,,connecting print with,outputport2,output:"
2350
port3 =node1.outputPorts[2]
2351
port4 =node3.inputPorts[0]
2352
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
2353
self.assertEqual(node3.inputPorts[0].getData(),False)
2354
net.deleteConnectionsNoCB(net.connections[1])
2355
#connecting print with iterate outputport3(at the end of an iteration, output True)
2356
print "tests iterate ,input [10,20,30]:,,connecting print with,outputport3,output:"
2357
port3 =node1.outputPorts[3]
2358
port4 =node3.inputPorts[0]
2359
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
2360
self.assertEqual(node3.inputPorts[0].getData(),True)
2361
net.deleteConnectionsNoCB(net.connections[1])
2362
print "tests iterate ,input [10,20,30]:,,connecting print with,outputport4,output:"
2363
#connecting print with iterate outputport4(the lenght of the list to loop over)
2364
port3 =node1.outputPorts[4]
2365
port4 =node3.inputPorts[0]
2366
apply( net.connectNodes,(port3.node, port4.node, port3.number, port4.number),{})
2367
self.assertEqual(node3.inputPorts[0].getData(),3)
2369
def test_Python_accum(self):
2371
from Vision.StandardNodes import stdlib
2372
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2373
ed.master.update_idletasks()
2375
net = ed.currentNetwork
2377
node1 = Vision.StandardNodes.Iterate(library =Vision.StandardNodes.stdlib)
2379
net.addNode(node1,150,150)
2381
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2383
net.addNode(node2,200,10)
2385
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2387
net.addNode(node3,400,100)
2389
node4 = Vision.StandardNodes.Accumulate(library =Vision.StandardNodes.stdlib)
2391
net.addNode(node4,50,50)
2392
#node5 is check button
2393
node5 = Vision.StandardNodes.CheckButtonNE(library =Vision.StandardNodes.stdlib)
2395
net.addNode(node5,200,200)
2396
node2.addOutputPort()
2397
node2.setFunction("def doit(self):\n\tself.outputData(out0=[10,20,30])\n")
2398
net.connectNodes(node2,node1)
2399
net.connectNodes(node4,node3)
2400
#connecting iterate o/p port0 to accum i/p port0
2401
port1 =node1.outputPorts[0]
2402
port2 =node4.inputPorts[0]
2403
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2404
#connecting iterate o/p port3 to accum i/p port2
2405
port1 =node1.outputPorts[3]
2406
port2 =node4.inputPorts[2]
2407
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2408
#connecting check button o/p port1 to accum i/p port1
2409
port1 =node5.outputPorts[0]
2410
port2 =node4.inputPorts[1]
2411
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2412
print "tests accum connected to iterate,input [10, 20, 30],output:"
2413
node5.inputPorts[0].widget.set(0)
2414
ed.runCurrentNet_cb()
2415
self.assertEqual(node3.inputPorts[0].getData(),[10, 20, 30])
2416
print "tests accum connected to iterate,input [10, 20, 30],output for second run :"
2417
ed.runCurrentNet_cb()
2418
self.assertEqual(node3.inputPorts[0].getData(),[10, 20, 30, 10, 20, 30])
2419
print "tests accum connected to iterate,input [10, 20, 30],output for third run :"
2420
ed.runCurrentNet_cb()
2421
self.assertEqual(node3.inputPorts[0].getData(),[10, 20, 30, 10, 20, 30, 10, 20, 30])
2423
def test_Python_map(self):
2425
from Vision.StandardNodes import stdlib
2426
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2427
ed.master.update_idletasks()
2429
net = ed.currentNetwork
2431
node1 = Vision.StandardNodes.Map(library =Vision.StandardNodes.stdlib)
2433
net.addNode(node1,150,150)
2435
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2437
net.addNode(node2,200,10)
2439
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2441
net.addNode(node3,400,100)
2442
node2.addOutputPort()
2443
node2.setFunction("def doit(self):\n\tself.outputData(out0=[10,20,30])\n")
2444
net.connectNodes(node1,node3)
2445
net.connectNodes(node2,node1)
2446
node2.outputPorts[0].edit()
2447
node2.outputPorts[0].objEditor.dataType.set('list')
2448
node2.outputPorts[0].objEditor.OK()
2449
node1.inputPorts[1].widget.set('lambda x: str(x)')
2450
print "tests map entry lambda x: str(x),input [10,20,30],output:"
2451
ed.runCurrentNet_cb()
2452
self.assertEqual(node3.inputPorts[0].getData(),['10', '20', '30'])
2453
node1.inputPorts[1].widget.set('lambda x: x+x')
2454
print "tests map entry lambda x: x+x,input [10,20,30],output:"
2455
ed.runCurrentNet_cb()
2456
self.assertEqual(str(node3.inputPorts[0].getData()), '[20, 40, 60]')
2459
def test_Python_isTrue_Stop(self):
2460
from Vision.StandardNodes import stdlib
2461
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2462
ed.master.update_idletasks()
2464
net = ed.currentNetwork
2465
#node1 is isTrue_stop
2466
node1 = Vision.StandardNodes.IsTrue_Stop(library =Vision.StandardNodes.stdlib)
2468
net.addNode(node1,150,150)
2470
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2472
net.addNode(node2,200,10)
2474
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2476
net.addNode(node3,400,100)
2477
net.connectNodes(node1,node3)
2478
net.connectNodes(node2,node1)
2479
node2.outputPorts[0].edit()
2480
node2.outputPorts[0].objEditor.dataType.set('int')
2481
node2.outputPorts[0].objEditor.OK()
2482
node2.inputPorts[0].widget.set(100)
2483
print "tests isTrue is 'data == 10',entry 100,output:"
2484
node1.inputPorts[1].widget.set('data == 10')
2486
self.assertEqual(node3.inputPorts[0].getData(),'Stop')
2487
print "tests isTrue is 'data == 100',entry 100,output:"
2488
node1.inputPorts[1].widget.set('data == 100')
2490
self.assertEqual(node3.inputPorts[0].getData(),100)
2493
def test_Python_if_else(self):
2494
from Vision.StandardNodes import stdlib
2495
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2496
ed.master.update_idletasks()
2498
net = ed.currentNetwork
2500
node1 = Vision.StandardNodes.IfElseNode(library =Vision.StandardNodes.stdlib)
2502
net.addNode(node1,150,150)
2504
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2506
net.addNode(node2,200,10)
2508
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2510
net.addNode(node3,400,100)
2512
node4 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2514
net.addNode(node4,50,50)
2515
net.connectNodes(node1,node3)
2516
port1 =node2.outputPorts[0]
2517
port2 =node1.inputPorts[0]
2518
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2519
port1 =node4.outputPorts[0]
2520
port2 =node1.inputPorts[1]
2521
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2522
node2.outputPorts[0].edit()
2523
node2.outputPorts[0].objEditor.dataType.set('int')
2524
node2.outputPorts[0].objEditor.OK()
2525
node4.outputPorts[0].edit()
2526
node4.outputPorts[0].objEditor.dataType.set('int')
2527
node4.outputPorts[0].objEditor.OK()
2528
node1.inputPorts[2].widget.set('False')
2529
node2.inputPorts[0].widget.set(100)
2530
print "tests if_else entry False,inputs 100,90,output:"
2531
node4.inputPorts[0].widget.set(90)
2533
self.assertEqual(node3.inputPorts[0].getData(),90)
2534
print "tests if_else entry True,inputs 100,90,output:"
2535
node1.inputPorts[2].widget.set('True')
2537
self.assertEqual(node3.inputPorts[0].getData(),100)
2541
def test_Python_eval(self):
2542
from Vision.StandardNodes import stdlib
2543
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2544
ed.master.update_idletasks()
2546
net = ed.currentNetwork
2548
node1 = Vision.StandardNodes.Eval(library =Vision.StandardNodes.stdlib)
2550
net.addNode(node1,150,150)
2552
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2554
net.addNode(node3,400,100)
2555
net.connectNodes(node1,node3)
2556
node1.toggleNodeExpand_cb()
2557
print "tests eval entry 2+3 ,output:"
2558
node1.inputPorts[0].widget.set('2+3')
2560
self.assertEqual(node3.inputPorts[0].getData(),5)
2561
print "tests eval entry 2+3!=5 ,output:"
2562
node1.inputPorts[0].widget.set('2+3 !=5')
2564
self.assertEqual(node3.inputPorts[0].getData(),False)
2566
## def Xtest_Python_eval_with_input_port(self):
2567
## from Vision.StandardNodes import stdlib
2568
## ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2569
## ed.master.update_idletasks()
2571
## net = ed.currentNetwork
2572
## #node1 is if else
2573
## node1 = Vision.StandardNodes.Eval(library =Vision.StandardNodes.stdlib)
2575
## net.addNode(node1,150,150)
2577
## node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2579
## net.addNode(node2,50,50)
2581
## node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2583
## net.addNode(node3,400,100)
2584
## node2.addOutputPort()
2585
## node2.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4,5])\n")
2586
## port1 =node2.outputPorts[0]
2587
## port2 =node1.inputPorts[1]
2588
## apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2589
## #net.connectNodes(node2,node1)
2590
## net.connectNodes(node1,node3)
2591
## ed.runCurrentNet_cb()
2592
## print "tests eval entry in1[1:2],input [1,2,3,4,5],output:"
2593
## node1.inputPorts[0].widget.set('in1[1:2]')
2594
## self.assertEqual(node3.inputPorts[0].getData(),[2])
2599
def test_Python_get_attr(self):
2600
from Vision.StandardNodes import stdlib
2601
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2602
ed.master.update_idletasks()
2604
net = ed.currentNetwork
2606
node1 = Vision.StandardNodes.GetAttr(library =Vision.StandardNodes.stdlib)
2608
net.addNode(node1,150,150)
2610
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2612
net.addNode(node2,200,10)
2614
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2616
net.addNode(node3,400,100)
2617
node2.addOutputPort()
2618
node2.setFunction("def doit(self):\n\timport Vision\n\tnode1 =Vision.StandardNodes\n\tself.outputData(out0=node1)\n")
2619
net.connectNodes(node1,node3)
2620
net.connectNodes(node2,node1)
2621
node1.toggleNodeExpand_cb()
2622
ed.runCurrentNet_cb()
2623
print "tests get attr entry Filelist,input Vision.StandardNodes,output:"
2624
node1.inputPorts[1].widget.set('Filelist')
2625
ed.runCurrentNet_cb()
2626
from string import split
2627
self.assertEqual(split(str(node3.inputPorts[0].getData()[0]))[1],"'Vision.StandardNodes.Filelist'>")
2629
def test_Python_set_attr(self):
2630
from Vision.StandardNodes import stdlib
2631
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2632
ed.master.update_idletasks()
2634
net = ed.currentNetwork
2636
node1 = Vision.StandardNodes.SetAttr(library =Vision.StandardNodes.stdlib)
2638
net.addNode(node1,150,150)
2640
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2642
net.addNode(node2,200,10)
2644
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2646
net.addNode(node3,400,100)
2647
node4 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2648
net.addNode(node4,50,50)
2649
node2.addOutputPort()
2650
node2.setFunction("def doit(self):\n\timport Vision\n\tnode1 =Vision.StandardNodes\n\tself.outputData(out0=node1)\n")
2651
net.connectNodes(node1,node3)
2652
port1 =node2.outputPorts[0]
2653
port2 =node1.inputPorts[0]
2654
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2655
port1 =node4.outputPorts[0]
2656
port2 =node1.inputPorts[1]
2657
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2658
node1.toggleNodeExpand_cb()
2659
#ed.runCurrentNet_cb()
2660
print "tests setattr entry Filelist,input Vision.StandardNodes,output:"
2661
node1.inputPorts[2].widget.set("newattr")
2662
node4.inputPorts[0].widget.set(100)
2663
ed.runCurrentNet_cb()
2664
self.assertEqual(Vision.StandardNodes.newattr,'100')
2666
def test_Python_call_method(self):
2667
from Vision.StandardNodes import stdlib
2668
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2669
ed.master.update_idletasks()
2671
net = ed.currentNetwork
2673
node1 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2675
net.addNode(node1,100,50)
2677
node2 = Vision.StandardNodes.CallMethod(library =Vision.StandardNodes.stdlib)
2679
net.addNode(node2,100,100)
2680
node1.addOutputPort()
2681
node1.setFunction("def doit(self):\n\tfrom Vision.Tests.myclass import Test\n\tmyTest = Test()\n\tself.outputData(out0=myTest)\n")
2682
node3 =Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2683
net.addNode(node3,100,200)
2684
node2.inputPorts[1].widget.set('Set %a %b %c %d')
2686
node0 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2688
net.addNode(node0,100,150)
2689
node0.setFunction("def doit(self):\n\tself.outputData(out0=[in0.in1,in0.in2,in0.in3,in0.in4])\n")
2690
node0.addOutputPort()
2691
node0.addInputPort()
2692
net.connectNodes(node1,node2)
2693
net.connectNodes(node0,node3)
2694
port1 =node2.outputPorts[0]
2695
port2 =node0.inputPorts[0]
2696
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2697
ed.runCurrentNet_cb()
2698
node4 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2699
net.addNode(node4,200,50)
2700
node5 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2701
net.addNode(node5,200,150)
2702
node6 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2703
net.addNode(node6,200,250)
2704
node7 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2705
net.addNode(node7,200,320)
2706
node4.inputPorts[0].widget.set(1)
2707
node5.inputPorts[0].widget.set(2)
2708
node6.inputPorts[0].widget.set(3)
2709
node7.inputPorts[0].widget.set(4)
2710
print "tests call method ,input myclass instance ,inputs for 4 ports is 1,2,3,4, output:"
2711
port1 =node4.outputPorts[0]
2712
port2 =node2.inputPorts[2]
2713
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2714
port1 =node5.outputPorts[0]
2715
port2 =node2.inputPorts[3]
2716
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2717
port1 =node6.outputPorts[0]
2718
port2 =node2.inputPorts[4]
2719
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2720
port1 =node7.outputPorts[0]
2721
port2 =node2.inputPorts[5]
2722
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2723
ed.runCurrentNet_cb()
2724
self.assertEqual(node3.inputPorts[0].getData(),['1', '2', '3', '4'])
2726
################################################
2728
################################################
2730
def test_Python_set_counter(self):
2731
from Vision.StandardNodes import stdlib
2732
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2733
ed.master.update_idletasks()
2735
net = ed.currentNetwork
2736
net.runOnNewData.value = True
2738
node1 = Vision.StandardNodes.Counter(library =Vision.StandardNodes.stdlib)
2740
net.addNode(node1,150,150)
2742
node2 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2744
net.addNode(node2,200,10)
2746
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2748
net.addNode(node3,400,100)
2749
node4 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2750
net.addNode(node4,50,50)
2751
net.connectNodes(node4,node1)
2752
port1 =node1.outputPorts[0]
2753
port2 =node2.inputPorts[0]
2754
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2755
port1 =node1.outputPorts[1]
2756
port2 =node3.inputPorts[0]
2757
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2758
node1.toggleNodeExpand_cb()
2759
print "tests counter when run thrice,input 2,output:"
2760
node4.inputPorts[0].widget.set(2)
2761
ed.runCurrentNet_cb()
2762
ed.runCurrentNet_cb()
2763
self.assertEqual(node2.inputPorts[0].getData(),'2')
2764
self.assertEqual(node3.inputPorts[0].getData(),3)
2765
print "tests counter when reset toggled input 2,output:"
2766
node1.inputPorts[1].widget.widget.invoke()
2767
self.assertEqual(node2.inputPorts[0].getData(),'2')
2768
self.assertEqual(node3.inputPorts[0].getData(),0)
2771
def test_Python_change_back_ground_color(self):
2772
from Vision.StandardNodes import stdlib
2773
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2774
ed.master.update_idletasks()
2776
net = ed.currentNetwork
2778
node1 = Vision.StandardNodes.ChangeBackground(library =Vision.StandardNodes.stdlib)
2780
net.addNode(node1,150,150)
2781
print "tests change back ground color:"
2782
node1.inputPorts[0].widget.set('blue')
2783
self.assertEqual(node1.inputPorts[0].widget.get(),'blue')
2786
# def test_Python_show_hide_gui(self):
2787
# from Vision.StandardNodes import stdlib
2788
# ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2789
# ed.master.update_idletasks()
2791
# net = ed.currentNetwork
2792
# node1 = Vision.StandardNodes.ShowHideGUI(library =Vision.StandardNodes.stdlib)
2794
# net.addNode(node1,150,150)
2796
# #print "tests show hide gui toggle off:"
2797
# node1.inputPorts[0].widget.set(0)
2798
# self.assertEqual(node1.inputPorts[0].widget.widget.winfo_viewable(),0)
2800
# #print "tests show hide gui toggle on:"
2802
# node1.inputPorts[0].widget.set(1)
2803
# ed.master.update_idletasks()
2806
# if sys.platform != 'win32':
2807
# self.assertEqual(node1.inputPorts[0].widget.widget.winfo_viewable(),1)
2810
def test_Python_show_hide_param_panel(self):
2811
from Vision.StandardNodes import stdlib
2812
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2813
ed.master.update_idletasks()
2815
net = ed.currentNetwork
2816
node1 = Vision.StandardNodes.ShowHideParamPanel(library =Vision.StandardNodes.stdlib)
2818
net.addNode(node1,150,150)
2819
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2821
net.addNode(node2,50,50)
2822
net.connectNodes(node2,node1)
2823
node2.inputPorts[0].widget.set(25)
2824
print "tests parampanel toggle on:"
2825
node1.inputPorts[1].widget.set(0)
2826
print "tests parampanel toggle off:"
2827
self.assertEqual(node2.paramPanel.visible,0)
2828
node1.inputPorts[1].widget.set(1)
2830
self.assertEqual(node2.paramPanel.visible,1)
2832
def test_has_new_data(self):
2833
from Vision.StandardNodes import stdlib
2834
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2835
ed.master.update_idletasks()
2837
net = ed.currentNetwork
2838
net.runOnNewData.value = True
2839
node1 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2840
net.addNode(node1,200,10)
2841
node1.addOutputPort()
2842
node1.addOutputPort()
2843
node1.addInputPort()
2844
node1.setFunction("""def doit(self, in1):\n\tif in1:\n\t\tself.outputData(out0='On')\n\telse:\n\t\tself.outputData(out1='Off')""")
2845
apply(node1.inputPorts[0].createWidget, (), {'descr':{'initialValue': 0, 'labelGridCfg': {'column': 0, 'row': 0}, 'master': 'node', 'widgetGridCfg': {'labelSide': 'left', 'column': 1, 'row': 0}, 'labelCfg': {'text': ''}, 'class': 'NECheckButton'}})
2846
node2 = Vision.StandardNodes.HasNewData(library =Vision.StandardNodes.stdlib)
2847
net.addNode(node2,200,100)
2848
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2849
net.addNode(node3,200,200)
2850
net.connectNodes(node2,node3)
2851
node3.inputPorts[0].edit()
2852
node3.inputPorts[0].objEditor.singleConnectionTk.set('False')
2853
node3.inputPorts[0].objEditor.OK()
2854
port1 =node1.outputPorts[1]
2855
port2 =node2.inputPorts[0]
2856
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2857
port1 =node1.outputPorts[0]
2858
port2 =node3.inputPorts[0]
2859
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2860
node1.toggleNodeExpand_cb()
2861
self.assertEqual(node3.inputPorts[0].getData(),'Stop')
2862
node1.inputPorts[0].widget.set(1)
2863
self.assertEqual(node3.inputPorts[0].getData(),['On'])
2864
node1.inputPorts[0].widget.set(0)
2865
print "testing hasNewData node,generic with inputports widget type Check button,when off,output is:"
2866
self.assertEqual(node3.inputPorts[0].getData(),['Off'])
2870
##############################################
2872
##############################################
2874
def test_save_field(self):
2876
from Vision.StandardNodes import stdlib
2877
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2878
ed.master.update_idletasks()
2880
net = ed.currentNetwork
2881
#node1 is save field
2882
node1 = Vision.StandardNodes.SaveField(library =Vision.StandardNodes.stdlib)
2884
net.addNode(node1,150,150)
2886
node2 = Vision.StandardNodes.Generic(library =Vision.StandardNodes.stdlib)
2888
net.addNode(node2,200,10)
2889
node2.addOutputPort()
2890
node2.setFunction("def doit(self):\n\tself.outputData(out0=[1,2,3,4])\n")
2891
net.connectNodes(node2,node1)
2892
node1.toggleNodeExpand_cb()
2893
node1.inputPorts[1].widget.set(os.path.abspath('testfile'))
2894
ed.runCurrentNet_cb()
2895
fptr = open('testfile')
2896
alllines = fptr.readlines()
2897
self.assertEqual(len(alllines)>0,True)
2900
def test_save_lines(self):
2903
from Vision.StandardNodes import stdlib
2904
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2905
ed.master.update_idletasks()
2907
net = ed.currentNetwork
2908
#node1 is save field
2909
node1 = Vision.StandardNodes.SaveLines(library =Vision.StandardNodes.stdlib)
2911
net.addNode(node1,150,150)
2913
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2915
net.addNode(node2,200,10)
2917
node3 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2919
net.addNode(node3,50,50)
2920
net.connectNodes(node2,node1)
2921
node2.inputPorts[0].widget.set("hi how are you?")
2922
node1.inputPorts[1].widget.set(os.path.abspath('note3'))
2924
fptr =open(os.path.abspath('note3'))
2925
alllines = fptr.readlines()
2926
self.assertEqual(len(alllines)>0,True)
2930
def test__output_PrintFS(self):
2931
from Vision.StandardNodes import stdlib
2932
ed.addLibraryInstance(stdlib, 'Vision.StandardNodes', 'stdlib')
2933
ed.master.update_idletasks()
2935
net = ed.currentNetwork
2937
node1 = Vision.StandardNodes.PrintFormatedString(library =Vision.StandardNodes.stdlib)
2938
net.addNode(node1,150,150)
2940
node2 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2941
net.addNode(node2,250,250)
2943
node3 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2944
net.addNode(node3,200,200)
2946
node4 = Vision.StandardNodes.EntryNE(library =Vision.StandardNodes.stdlib)
2947
net.addNode(node4,100,200)
2949
node5 = Vision.StandardNodes.Print(library =Vision.StandardNodes.stdlib)
2950
net.addNode(node5,300,200)
2951
#adding inputports for printFS
2952
node1.addInputPort()
2953
node1.addInputPort()
2954
#connecting printFS and entry nodes
2955
port1 =node3.outputPorts[0]
2956
port2 =node1.inputPorts[2]
2957
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2958
port1 =node4.outputPorts[0]
2959
port2 =node1.inputPorts[3]
2960
apply( net.connectNodes,(port1.node, port2.node, port1.number, port2.number),{})
2961
node3.outputPorts[0].edit()
2962
node3.outputPorts[0].objEditor.dataType.set('float')
2963
node3.outputPorts[0].objEditor.OK()
2964
node4.outputPorts[0].edit()
2965
node4.outputPorts[0].objEditor.dataType.set('float')
2966
node4.outputPorts[0].objEditor.OK()
2967
node2.inputPorts[0].widget.set('%d %6.2f')
2968
node3.inputPorts[0].widget.set(2.3456)
2969
node4.inputPorts[0].widget.set(4.23)
2970
net.connectNodes(node2,node1)
2971
net.connectNodes(node1,node5)
2972
print "tests printFS '%d %6.2f',inputs 2.3456,4.23,output :"
2973
ed.runCurrentNet_cb()
2974
self.assertEqual(str(node5.inputPorts[0].getData()),'2 4.23')
2977
if __name__ == '__main__':