summaryrefslogtreecommitdiffstats
path: root/tcllib/modules/struct/graph/tests/arc/move.test
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 19:39:39 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-27 19:39:39 (GMT)
commitea28451286d3ea4a772fa174483f9a7a66bb1ab3 (patch)
tree6ee9d8a7848333a7ceeee3b13d492e40225f8b86 /tcllib/modules/struct/graph/tests/arc/move.test
parentb5ca09bae0d6a1edce939eea03594dd56383f2c8 (diff)
parent7c621da28f07e449ad90c387344f07a453927569 (diff)
downloadblt-ea28451286d3ea4a772fa174483f9a7a66bb1ab3.zip
blt-ea28451286d3ea4a772fa174483f9a7a66bb1ab3.tar.gz
blt-ea28451286d3ea4a772fa174483f9a7a66bb1ab3.tar.bz2
Merge commit '7c621da28f07e449ad90c387344f07a453927569' as 'tcllib'
Diffstat (limited to 'tcllib/modules/struct/graph/tests/arc/move.test')
-rw-r--r--tcllib/modules/struct/graph/tests/arc/move.test111
1 files changed, 111 insertions, 0 deletions
diff --git a/tcllib/modules/struct/graph/tests/arc/move.test b/tcllib/modules/struct/graph/tests/arc/move.test
new file mode 100644
index 0000000..4275888
--- /dev/null
+++ b/tcllib/modules/struct/graph/tests/arc/move.test
@@ -0,0 +1,111 @@
+# -*- tcl -*-
+# Graph tests - arc move
+# Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+# 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}
+
+# -------------------------------------------------------------------------