1# -*- tcl -*- 2# Graph tests - arc rename 3# Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net> 4# All rights reserved. 5# RCS: @(#) $Id: rename.test,v 1.2 2007/04/12 03:01:55 andreas_kupries Exp $ 6 7# Syntax: graph arc rename ARC NEWNAME 8 9# ------------------------------------------------------------------------- 10# Wrong # args: Missing, Too many 11 12test graph-${impl}-${setimpl}-arc-rename-1.0 {arc rename, wrong # args, missing} { 13 SETUP 14 catch {mygraph arc rename} result 15 mygraph destroy 16 set result 17} [tmWrong {arc rename} {arc newname} 0] 18 19test graph-${impl}-${setimpl}-arc-rename-1.1 {arc rename, wrong # args, missing} { 20 SETUP 21 catch {mygraph arc rename foo} result 22 mygraph destroy 23 set result 24} [tmWrong {arc rename} {arc newname} 1] 25 26test graph-${impl}-${setimpl}-arc-rename-1.2 {arc rename, wrong # args, too many} { 27 SETUP 28 catch {mygraph arc rename foo far fox} result 29 mygraph destroy 30 set result 31} [tmTooMany {arc rename} {arc newname}] 32 33# ------------------------------------------------------------------------- 34# Logical arguments checks and failures 35 36test graph-${impl}-${setimpl}-arc-rename-2.0 {arc rename, missing arc} { 37 SETUP 38 catch {mygraph arc rename 0 foo} result 39 mygraph destroy 40 set result 41} [MissingArc $MY 0] 42 43test graph-${impl}-${setimpl}-arc-rename-2.1 {arc rename, duplicate arc for target} { 44 SETUP 45 mygraph node insert 0 1 46 mygraph arc insert 0 1 a 47 mygraph arc insert 0 1 b 48 49 catch {mygraph arc rename a b} result 50 mygraph destroy 51 set result 52} [ExistingArc $MY b] 53 54# ------------------------------------------------------------------------- 55# Ok arguments. 56 57test graph-${impl}-${setimpl}-arc-rename-3.0 {arc rename, node linkage} { 58 SETUP 59 60 mygraph node insert a b 61 mygraph arc insert a b 0 62 63 set result {} 64 lappend result [mygraph arc source 0] 65 lappend result [mygraph arc target 0] 66 lappend result [mygraph arc exists 0] 67 lappend result [mygraph arc exists snarf] 68 lappend result [mygraph arcs -in b] 69 lappend result [mygraph arcs -out a] 70 71 mygraph arc rename 0 snarf 72 lappend result | 73 74 lappend result [mygraph arc source snarf] 75 lappend result [mygraph arc target snarf] 76 lappend result [mygraph arc exists 0] 77 lappend result [mygraph arc exists snarf] 78 lappend result [mygraph arcs -in b] 79 lappend result [mygraph arcs -out a] 80 81 mygraph destroy 82 set result 83} {a b 1 0 0 0 | a b 0 1 snarf snarf} 84 85test graph-${impl}-${setimpl}-arc-rename-3.1 {arc rename, attribute transfer} { 86 SETUP 87 mygraph node insert a b 88 mygraph arc insert a b 0 89 mygraph arc set 0 data foo 90 91 set result {} 92 lappend result [mygraph arc getall 0] 93 lappend result [catch {mygraph arc getall 5}] 94 95 mygraph arc rename 0 5 96 97 lappend result [mygraph arc getall 5] 98 lappend result [catch {mygraph arc getall 0}] 99 100 mygraph destroy 101 set result 102} {{data foo} 1 {data foo} 1} 103 104# ------------------------------------------------------------------------- 105