1# -*- tcl -*- 2# Graph tests - graph/arc/node set (attribute set) 3# Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net> 4# All rights reserved. 5# RCS: @(#) $Id: set.test,v 1.3 2008/03/07 06:51:39 andreas_kupries Exp $ 6 7# Syntax: graph set KEY ?VALUE? 8# Syntax: graph arc set ARC KEY ?VALUE? 9# Syntax: graph node set NODE KEY ?VALUE? 10 11# ------------------------------------------------------------------------- 12 13foreach {e ex stem mp mk} { 14 arc Arc {mygraph arc} {arc } x 15 node Node {mygraph node} {node } x 16 graph Graph {mygraph} {} {} 17} { 18 AttrSetup 19 20 # ------------------------------------------------------------------------- 21 # Wrong # args: Missing, Too many 22 23 test graph-${impl}-${setimpl}-${e}-set-1.0 "$e set, wrong # args, missing" { 24 SETUP 25 catch {CMD set} msg 26 mygraph destroy 27 set msg 28 } [tmWrongA "${mp}set" "${mp}key ?value?" 0 "${mp}key args"] ; # {} 29 30 test graph-${impl}-${setimpl}-${e}-set-1.1 "$e set, wrong # args, missing" !graph { 31 SETUP 32 catch {CMD set a} msg 33 mygraph destroy 34 set msg 35 } [tmWrongA "${mp}set" "${mp}key ?value?" 1 "${mp}key args"] ; # {} 36 37 test graph-${impl}-${setimpl}-${e}-set-1.2 "$e set, wrong # args, too many" { 38 SETUP 39 catch {CMD set a b c d} msg 40 mygraph destroy 41 set msg 42 } [tmE \ 43 "wrong # args: should be \"$MY ${mp}set ${mp}key ?value?\"" \ 44 [tmTooManyA "${mp}set" "${mp}key ?value?"]] ; # {} 45 46 # ------------------------------------------------------------------------- 47 # Logical arguments checks and failures 48 49 test graph-${impl}-${setimpl}-${e}-set-2.0 "$e set, missing $e" !graph { 50 SETUP 51 catch {CMD set x data} msg 52 mygraph destroy 53 set msg 54 } [Missing$ex $MY x] ; # {} 55 56 test graph-${impl}-${setimpl}-${e}-set-2.1 "$e set, no attributes (retrieval)" { 57 SETUP 58 $ex 59 catch {SetR$ex foo} msg 60 mygraph destroy 61 set msg 62 } [MissingKey $mk $e foo] ; # {} 63 64 test graph-${impl}-${setimpl}-${e}-set-2.2 "$e set, missing key (retrieval)" { 65 SETUP 66 $ex 67 SetW$ex data "" 68 catch {SetR$ex foo} msg 69 mygraph destroy 70 set msg 71 } [MissingKey $mk $e foo] ; # {} 72 73 # ------------------------------------------------------------------------- 74 # Ok arguments. 75 76 test graph-${impl}-${setimpl}-${e}-set-3.0 "$e set, set value, result" { 77 SETUP 78 $ex 79 set result {} 80 lappend result [SetW$ex baz foobar] 81 lappend result [Get$ex baz] 82 mygraph destroy 83 set result 84 } {foobar foobar} ; # {} 85 86 test graph-${impl}-${setimpl}-${e}-set-3.1 "$e set, retrieve value" { 87 SETUP 88 $ex 89 SetW$ex baz foobar 90 91 set result [SetR$ex baz] 92 mygraph destroy 93 set result 94 } foobar ; # {} 95} 96 97# ------------------------------------------------------------------------- 98