| # Test suite for the tcltest test suite. |
| |
| set auto_path [linsert $auto_path 0 [file dirname [info script]]] |
| |
| package require tcltest |
| package require simpledb |
| |
| proc maketables {} { |
| simpledb::createtable computer gfx cpu mem hd price |
| simpledb::createtable graphicscard name manufacturer mem |
| } |
| |
| proc arraysort {lst} { |
| set sortlist {} |
| set reslist {} |
| foreach {key val} $lst { |
| lappend sortlist [list $key $val] |
| } |
| set sortlist [lsort -index 0 $sortlist] |
| foreach {keyval} $sortlist { |
| lappend reslist [lindex $keyval 0] [lindex $keyval 1] |
| } |
| return $reslist |
| } |
| |
| proc deltables {} { |
| simpledb::deltable computer |
| simpledb::deltable graphicscard |
| } |
| |
| proc populatetables {} { |
| set lt1 [simpledb::createitem computer { |
| gfx ATI |
| cpu "Motorola PPC" |
| mem 256 |
| hd 10 |
| price 1000 |
| }] |
| |
| set lt2 [simpledb::createitem computer { |
| gfx Permedia |
| cpu "PII" |
| mem 256 |
| hd 10 |
| price 1200 |
| }] |
| |
| set lt3 [simpledb::createitem computer { |
| gfx Matrox |
| cpu "Pentium" |
| mem 128 |
| hd 5 |
| price 5000 |
| }] |
| } |
| |
| tcltest::test createtables-1.1 {Create two tables} { |
| set res {} |
| maketables |
| set res [simpledb::tables] |
| deltables |
| set res |
| } {graphicscard computer} |
| |
| tcltest::test deltables-1.1 {Make sure tables are gone} { |
| set res {} |
| maketables |
| deltables |
| simpledb::tables |
| } {} |
| |
| tcltest::test populatetables-1.1 {Make tables, populate them} { |
| set res {} |
| maketables |
| populatetables |
| } {3} |
| |
| # foreach arr [simpledb::items computer] { |
| # lappend arrlist [arraysort $arr] |
| # } |
| # puts [lsort -index 9 $arrlist] |
| |
| # simpledb::setitem computer $lt3 { |
| # price 2000 |
| # } |
| |
| # simpledb::setitem computer $lt3 { |
| # price 3000 |
| # } |
| |
| # puts "getitem computer lt1: [simpledb::getitem computer $lt1]" |
| |
| # puts "finditems: [simpledb::finditems computer { |
| # gfx Permedia |
| # cpu PII |
| # }]" |
| |
| # foreach item [simpledb::finditems computer { |
| # gfx * |
| # }] { |
| # puts [simpledb::getitem computer $item] |
| # } |
| |
| # simpledb::synctostorage session.tcl |
| |
| tcltest::cleanupTests |