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