# -*- tcl -*- # Graph ops tests - Adjacency Matrix. # Copyright (c) 2008 Andreas Kupries # All rights reserved. # RCS: @(#) $Id: adjmatrix.test,v 1.4 2009/09/15 19:24:12 andreas_kupries Exp $ # Syntax: struct::graph::op::toAdjacencyMatrix G # ------------------------------------------------------------------------- # Wrong # args: Missing, Too many test graphop-t${treeimpl}-g${impl}-s${setimpl}-st${stkimpl}-q${queimpl}-toAdjacencyMatrix-1.0 {toAdjacencyMatrix, wrong args, missing} { catch {struct::graph::op::toAdjacencyMatrix} msg set msg } [tcltest::wrongNumArgs struct::graph::op::toAdjacencyMatrix {g} 0] test graphop-t${treeimpl}-g${impl}-s${setimpl}-st${stkimpl}-q${queimpl}-toAdjacencyMatrix-1.1 {toAdjacencyMatrix, wrong args, too many} { catch {struct::graph::op::toAdjacencyMatrix g x} msg set msg } [tcltest::tooManyArgs struct::graph::op::toAdjacencyMatrix {g}] # ------------------------------------------------------------------------- # Logical arguments checks and failures # ------------------------------------------------------------------------- # Ok arguments. test graphop-t${treeimpl}-g${impl}-s${setimpl}-st${stkimpl}-q${queimpl}-toAdjacencyMatrix-2.0 {toAdjacencyMatrix, empty graph} { SETUP set result [struct::graph::op::toAdjacencyMatrix mygraph] mygraph destroy set result } {{{}}} test graphop-t${treeimpl}-g${impl}-s${setimpl}-st${stkimpl}-q${queimpl}-toAdjacencyMatrix-2.1 {toAdjacencyMatrix, nodes, no arcs} { SETUP mygraph node insert 0 1 2 3 4 5 set result [struct::graph::op::toAdjacencyMatrix mygraph] mygraph destroy set result } {{{} 0 1 2 3 4 5} {0 0 0 0 0 0 0} {1 0 0 0 0 0 0} {2 0 0 0 0 0 0} {3 0 0 0 0 0 0} {4 0 0 0 0 0 0} {5 0 0 0 0 0 0}} test graphop-t${treeimpl}-g${impl}-s${setimpl}-st${stkimpl}-q${queimpl}-toAdjacencyMatrix-2.2 {toAdjacencyMatrix, nodes, arcs} { SETUP mygraph node insert 0 1 2 3 4 5 mygraph arc insert 0 1 a mygraph arc insert 2 3 b mygraph arc insert 4 5 c set result [struct::graph::op::toAdjacencyMatrix mygraph] mygraph destroy set result } {{{} 0 1 2 3 4 5} {0 0 1 0 0 0 0} {1 1 0 0 0 0 0} {2 0 0 0 1 0 0} {3 0 0 1 0 0 0} {4 0 0 0 0 0 1} {5 0 0 0 0 1 0}} test graphop-t${treeimpl}-g${impl}-s${setimpl}-st${stkimpl}-q${queimpl}-toAdjacencyMatrix-2.3 {toAdjacencyMatrix, nodes, parallel arcs, loops} { SETUP mygraph node insert 0 1 2 3 4 5 mygraph arc insert 0 1 a mygraph arc insert 0 1 b mygraph arc insert 2 3 c mygraph arc insert 3 2 d mygraph arc insert 4 4 e set result [struct::graph::op::toAdjacencyMatrix mygraph] mygraph destroy set result } {{{} 0 1 2 3 4 5} {0 0 1 0 0 0 0} {1 1 0 0 0 0 0} {2 0 0 0 1 0 0} {3 0 0 1 0 0 0} {4 0 0 0 0 1 0} {5 0 0 0 0 0 0}} # --------------------------------------------------- # ---------------------------------------------------