# -*- tcl -*- # Graph tests - arc move # Copyright (c) 2006 Andreas Kupries # All rights reserved. # RCS: @(#) $Id: move.test,v 1.2 2007/04/12 03:01:55 andreas_kupries Exp $ # Syntax: graph arc move ARC NEW-SOURCE NEW-TARGET # ------------------------------------------------------------------------- # Wrong # args: Missing, Too many test graph-${impl}-${setimpl}-arc-move-1.0 {arc move, wrong#args, missing} { SETUP catch {mygraph arc move} res mygraph destroy set res } [tmWrong {arc move} {arc newsource newtarget} 0] test graph-${impl}-${setimpl}-arc-move-1.1 {arc move} { SETUP catch {mygraph arc move a} res mygraph destroy set res } [tmWrong {arc move} {arc newsource newtarget} 1] test graph-${impl}-${setimpl}-arc-move-1.2 {arc move} { SETUP catch {mygraph arc move a b} res mygraph destroy set res } [tmWrong {arc move} {arc newsource newtarget} 2] test graph-${impl}-${setimpl}-arc-move-1.3 {arc move} { SETUP catch {mygraph arc move a b c d} res mygraph destroy set res } [tmTooMany {arc move} {arc newsource newtarget}] # ------------------------------------------------------------------------- # Logical arguments checks and failures test graph-${impl}-${setimpl}-arc-move-2.0 {arc move} { SETUP mygraph node insert 0 1 catch {mygraph arc move a 0 1} res mygraph destroy set res } [MissingArc $MY a] test graph-${impl}-${setimpl}-arc-move-2.1 {arc move} { SETUP mygraph node insert 0 1 mygraph arc insert 0 1 a catch {mygraph arc move a 0 2} res mygraph destroy set res } [MissingNode $MY 2] test graph-${impl}-${setimpl}-arc-move-2.2 {arc move} { SETUP mygraph node insert 0 1 mygraph arc insert 0 1 a catch {mygraph arc move a 2 0} res mygraph destroy set res } [MissingNode $MY 2] # ------------------------------------------------------------------------- test graph-${impl}-${setimpl}-arc-move-3.0 {arc move, new source & target} { SETUP mygraph node insert 0 1 2 3 mygraph arc insert 0 1 a mygraph arc move a 2 3 set res [list [mygraph arc source a] [mygraph arc target a]] mygraph destroy set res } {2 3} test graph-${impl}-${setimpl}-arc-move-3.1 {arc move, unchanged source, target} { SETUP mygraph node insert 0 1 2 3 mygraph arc insert 0 1 a mygraph arc move a 0 1 set res [list [mygraph arc source a] [mygraph arc target a]] mygraph destroy set res } {0 1} test graph-${impl}-${setimpl}-arc-move-3.2 {arc move, unchanged source, changed target} { SETUP mygraph node insert 0 1 2 3 mygraph arc insert 0 1 a mygraph arc move a 0 3 set res [list [mygraph arc source a] [mygraph arc target a]] mygraph destroy set res } {0 3} test graph-${impl}-${setimpl}-arc-move-3.3 {arc move, changed source, unchanged target} { SETUP mygraph node insert 0 1 2 3 mygraph arc insert 0 1 a mygraph arc move a 2 1 set res [list [mygraph arc source a] [mygraph arc target a]] mygraph destroy set res } {2 1} # -------------------------------------------------------------------------