package require tcltest namespace import -force tcltest::* cd $tcltest::testsDirectory set CFLAGS "-Os" set KPATH "/lib/modules/[exec uname -r]/build/include" set MPATH "/lib/modules/[exec uname -r]/build/include/asm/mach-default" set PATH "../../user" test isx {Test of int64 keys and stat values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test isx.c } -body { exec ./test } -result {map[3] = count:49600 sum:3288450 avg:66 min:0 max:99 value |-------------------------------------------------- count 0 |@@ 460 10 |@@@@@@@ 1460 20 |@@@@@@@@@@@@ 2460 30 |@@@@@@@@@@@@@@@@@@ 3460 40 |@@@@@@@@@@@@@@@@@@@@@@@ 4460 50 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5460 60 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6460 70 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7460 80 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8460 90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9460 map[2] = count:100 sum:2025 avg:20 min:0 max:81 value |-------------------------------------------------- count 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 42 10 |@@@@@@@@@@@@@@@@@ 17 20 |@@@@@@@@@@@@@ 13 30 |@@@@@@@@@ 9 40 |@@@@@@@@@ 9 50 |@@@@ 4 60 |@@@ 3 70 |@@ 2 80 |@ 1 90 | 0 map[1] = count:45 sum:2850 avg:63 min:10 max:90 value |-------------------------------------------------- count 0 | 0 10 |@ 1 20 |@@ 2 30 |@@@ 3 40 |@@@@ 4 50 |@@@@@ 5 60 |@@@@@@ 6 70 |@@@@@@@ 7 80 |@@@@@@@@ 8 90 |@@@@@@@@@ 9 map2[1] = count:16384 sum:1040384 avg:63 min:0 max:127 value |-------------------------------------------------- count 0 | 128 1 | 128 2 |@ 256 4 |@@@ 512 8 |@@@@@@ 1024 16 |@@@@@@@@@@@@ 2048 32 |@@@@@@@@@@@@@@@@@@@@@@@@ 4096 64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8192 128 | 0 256 | 0 map2[2] = count:1048576 sum:536346624 avg:511 min:0 max:1023 value |-------------------------------------------------- count 0 | 1024 1 | 1024 2 | 2048 4 | 4096 8 | 8192 16 |@ 16384 32 |@@@ 32768 64 |@@@@@@ 65536 128 |@@@@@@@@@@@@ 131072 256 |@@@@@@@@@@@@@@@@@@@@@@@@ 262144 512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 524288 } test map_format {Torture test of map formatting} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test map_format.c } -body { exec ./test } -result {Columbus -> mapiis 1 2 Ohio Sacramento -> mapiis 3 4 California Olympia -> mapiis 5 6 Washington Salem -> mapiis 7 8 Oregon Columbus % Ohio Sacramento % California Olympia % Washington Salem % Oregon Columbus -> mapiis Sacramento -> mapiis Olympia -> mapiis Salem -> mapiis The capitol of Riga is Latvia and the nerd population is 212063400820736 The capitol of Sofia is Bulgaria and the nerd population is -2400999087387945352 The capitol of Valletta is Malta and the nerd population is 1 The capitol of Nicosia is Cyprus and the nerd population is -1 The capitol of Riga is Latvia and the nerd population is c0dedbad0000 The capitol of Sofia is Bulgaria and the nerd population is deadf00d12345678 The capitol of Valletta is Malta and the nerd population is 1 The capitol of Nicosia is Cyprus and the nerd population is ffffffffffffffff The capitol of Riga is Latvia and the nerd population is C0DEDBAD0000 The capitol of Sofia is Bulgaria and the nerd population is DEADF00D12345678 The capitol of Valletta is Malta and the nerd population is 1 The capitol of Nicosia is Cyprus and the nerd population is FFFFFFFFFFFFFFFF Bogons per packet for Riga count:49600 sum:3288450 avg:66 min:0 max:99 value |-------------------------------------------------- count 0 |@@ 460 10 |@@@@@@@ 1460 20 |@@@@@@@@@@@@ 2460 30 |@@@@@@@@@@@@@@@@@@ 3460 40 |@@@@@@@@@@@@@@@@@@@@@@@ 4460 50 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5460 60 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6460 70 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7460 80 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8460 90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9460 Bogons per packet for Sofia count:100 sum:2025 avg:20 min:0 max:81 value |-------------------------------------------------- count 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 42 10 |@@@@@@@@@@@@@@@@@ 17 20 |@@@@@@@@@@@@@ 13 30 |@@@@@@@@@ 9 40 |@@@@@@@@@ 9 50 |@@@@ 4 60 |@@@ 3 70 |@@ 2 80 |@ 1 90 | 0 Bogons per packet for Valletta count:45 sum:2850 avg:63 min:10 max:90 value |-------------------------------------------------- count 0 | 0 10 |@ 1 20 |@@ 2 30 |@@@ 3 40 |@@@@ 4 50 |@@@@@ 5 60 |@@@@@@ 6 70 |@@@@@@@ 7 80 |@@@@@@@@ 8 90 |@@@@@@@@@ 9 49600 was the count for Riga, Latvia 100 was the count for Sofia, Bulgaria 45 was the count for Valletta, Malta mapsst[ Riga, Latvia] = 322D82 mapsst[ Sofia, Bulgaria] = 7E9 mapsst[ Valletta, Malta] = B22} test map_issii {Test of int64,string,string,int64 keys and int64 values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test issii.c } -body { exec ./test } -result {map[1, Boston, MA, 1970] = 5224303 map[2, Boston, MA, 2000] = 6057826 map[3, Chicago, IL, 2000] = 8272768 1. The population of Boston, MA in 1970 was 5224303 2. The population of Boston, MA in 2000 was 6057826 3. The population of Chicago, IL in 2000 was 8272768 } test map_sort {Test of sorting} -setup { puts "gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test sort.c" exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test sort.c } -body { exec ./test } -result {sorting from A-Z on value Boston -> 5 5 Massachusetts Carson City -> 7 8 Nevada Columbus -> 1 2 Ohio Des Moines -> 8 8 Iowa Montpelier -> 2 2 Vermont Olympia -> 5 6 Washington Raleigh -> -1 9 North Carolina Sacramento -> 3 4 California Salem -> 7 8 Oregon Santa Fe -> 1 4 New Mexico sorting from Z-A on value Santa Fe -> 1 4 New Mexico Salem -> 7 8 Oregon Sacramento -> 3 4 California Raleigh -> -1 9 North Carolina Olympia -> 5 6 Washington Montpelier -> 2 2 Vermont Des Moines -> 8 8 Iowa Columbus -> 1 2 Ohio Carson City -> 7 8 Nevada Boston -> 5 5 Massachusetts sorting from low to high on key 1 -1 9 North Carolina -> Raleigh 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus 2 2 Vermont -> Montpelier 3 4 California -> Sacramento 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 8 8 Iowa -> Des Moines sorting from high to low on key 1 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston 3 4 California -> Sacramento 2 2 Vermont -> Montpelier 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus -1 9 North Carolina -> Raleigh sorting from low to high on key 2 2 2 Vermont -> Montpelier 1 2 Ohio -> Columbus 3 4 California -> Sacramento 1 4 New Mexico -> Santa Fe 5 5 Massachusetts -> Boston 5 6 Washington -> Olympia 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City -1 9 North Carolina -> Raleigh sorting from high to low on key 2 -1 9 North Carolina -> Raleigh 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston 3 4 California -> Sacramento 1 4 New Mexico -> Santa Fe 2 2 Vermont -> Montpelier 1 2 Ohio -> Columbus sorting from low to high on key 3 California 3 4 -> Sacramento Iowa 8 8 -> Des Moines Massachusetts 5 5 -> Boston Nevada 7 8 -> Carson City New Mexico 1 4 -> Santa Fe North Carolina -1 9 -> Raleigh Ohio 1 2 -> Columbus Oregon 7 8 -> Salem Vermont 2 2 -> Montpelier Washington 5 6 -> Olympia sorting from high to low on key 3 Washington 5 6 -> Olympia Vermont 2 2 -> Montpelier Oregon 7 8 -> Salem Ohio 1 2 -> Columbus North Carolina -1 9 -> Raleigh New Mexico 1 4 -> Santa Fe Nevada 7 8 -> Carson City Massachusetts 5 5 -> Boston Iowa 8 8 -> Des Moines California 3 4 -> Sacramento top 3 alphabetical by value Boston -> 5 5 Massachusetts Carson City -> 7 8 Nevada Columbus -> 1 2 Ohio bottom 2 alphabetical by value Santa Fe -> 1 4 New Mexico Salem -> 7 8 Oregon top 5 sorted by key 1 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston bottom 5 sorted by key 1 -1 9 North Carolina -> Raleigh 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus 2 2 Vermont -> Montpelier 3 4 California -> Sacramento sorted by population from low to high Nicosia is the capitol of Cyprus and the nerd population is -1 Valletta is the capitol of Malta and the nerd population is 1 Riga is the capitol of Latvia and the nerd population is 135786 Sofia is the capitol of Bulgaria and the nerd population is 138740 sorted by population from high to low Sofia is the capitol of Bulgaria and the nerd population is 138740 Riga is the capitol of Latvia and the nerd population is 135786 Valletta is the capitol of Malta and the nerd population is 1 Nicosia is the capitol of Cyprus and the nerd population is -1 } test ii {Test of int64 keys and int64 values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test ii.c } -body { exec ./test } -result {map[1]=2 map[1] = 2 map[3] = 4 map[1] = 2 map[3] = 4 0 (should be 0) map[1] = 2 map[3] = 4 map[5] = 6 map[6] = 106 map[7] = 107 map[8] = 108 map[9] = 109 map[5] = 1005 map[382] = 1382 map[526] = 1526 map[903] = 1903 map[5] = 1005 map[526] = 1526 map[903] = 1903 map[526] = 1526 map[903] = 1903 map[526] = 1526 map[33] = 3333 map[44] = 4444 map[55] = 5555 map[66] = 6666 map[1970] = 1799 } test is {Test of int64 keys and string values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test is.c } -body { exec ./test } -result {map[1]=one map[1] = one map[1] = one map[3] = three map[1] = one map[3] = three map[1] = one map[3] = three map[1] = one map[3] = three map[1024] = 2048 map[1] = one map[3] = three map[1] = one map[3] = three map[5] = five map[1] = one map[3] = three map[6] = value of 6 map[7] = value of 7 map[8] = value of 8 map[9] = value of 9 map[5] = 1005 map[382] = 1382 map[526] = 1526 map[903] = 1903 map[5] = 1005 map[526] = 1526 map[903] = 1903 map[526] = 1526 map[903] = 1903 map[526] = 1526 map[6] = new value of 6 map[7] = new value of 7 map[8] = new value of 8 map[9] = new value of 9 } test si {Test of string keys and int64 values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test si.c } -body { exec ./test } -result {map[Ohio]=1 map[Ohio] = 1 map[Ohio] = 1 map[Washington] = 2 map[Ohio] = 1 map[Washington] = 2 map[Ohio] = 1 map[Washington] = 2 map[1024] = 2048 map[Ohio] = 1 map[Washington] = 2 map[Ohio] = 1 map[Washington] = 2 map[1024] = 2048 map[Ohio] = 1 map[Washington] = 2 map[Ohio] = 1 map[Washington] = 2 map[California] = 3 map[Ohio] = 1 map[Washington] = 2 map[California] = 3 map[] = 7777 map[Ohio] = 1 map[Washington] = 2 map[California] = 3 map[] = 8888 map[Ohio] = 1 map[Washington] = 2 map[California] = 3 map[String 6] = 106 map[String 7] = 107 map[String 8] = 108 map[String 9] = 109 map[String 6] = 106 map[String 7] = 107 map[String 8] = 108 map[String 9] = 109 map[String 6] = 6106 map[String 7] = 7107 map[String 8] = 8108 map[String 9] = 9109 map[String 6] = 6 map[String 7] = 7 map[String 8] = 8 map[String 9] = 9 } test iiss {Test of int64,int64,string keys and string values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test iiss.c } -body { exec ./test } -result {map[1, 2, Ohio] = Columbus map[3, 4, California] = Sacramento map[5, 6, Washington] = Seattle map[7, 8, Oregon] = Salem map[3, 4, California] = Sacramento map[5, 6, Washington] = Seattle map[7, 8, Oregon] = Salem map[-9, -10, Nevada] = Carson City map[3, 4, California] = Sacramento map[5, 6, Washington] = Olymp map[7, 8, Oregon] = Salem map[-9, -10, Nevada] = Carson City map[3, 4, California] = Sacramento map[5, 6, Washington] = Olympis map[7, 8, Oregon] = Salem map[-9, -10, Nevada] = Carson City map[3, 4, California] = Sacramento map[5, 6, Washington] = Olympia map[7, 8, Oregon] = Salem map[-9, -10, Nevada] = Carson City map[3, 4, California] = Sacramento map[5, 6, Washington] = Olympia map[7, 8, Oregon] = Salem map[3, 4, California] = Sacramento map[5, 6, Washington] = Olympia map[7, 8, Oregon] = Salem } test setadd {Test of setting and adding values} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test setadd.c } -body { exec ./test } -result {mapi[1] = 1 mapi[2] = 4 mapi[3] = 9 mapi[4] = 16 maps[1] = value of 1 maps[2] = value of 2 maps[3] = value of 3 maps[4] = value of 4 mapx[1] = count:1 sum:1 avg:1 min:1 max:1 mapx[2] = count:1 sum:2 avg:2 min:2 max:2 mapx[3] = count:1 sum:3 avg:3 min:3 max:3 mapx[4] = count:1 sum:4 avg:4 min:4 max:4 mapi[1] = 2 mapi[2] = 8 mapi[3] = 18 mapi[4] = 32 maps[1] = value of 1***** maps[2] = value of 2***** maps[3] = value of 3***** maps[4] = value of 4***** mapx[1] = count:2 sum:3 avg:1 min:1 max:2 mapx[2] = count:2 sum:6 avg:3 min:2 max:4 mapx[3] = count:2 sum:9 avg:4 min:3 max:6 mapx[4] = count:2 sum:12 avg:6 min:4 max:8 Adding 0 mapi[1] = 2 mapi[2] = 8 mapi[3] = 18 mapi[4] = 32 maps[1] = value of 1***** maps[2] = value of 2***** maps[3] = value of 3***** maps[4] = value of 4***** maps[1] = value of 1***** maps[2] = value of 2***** maps[3] = value of 3***** maps[4] = value of 4***** mapx[1] = count:3 sum:3 avg:1 min:0 max:2 mapx[2] = count:3 sum:6 avg:2 min:0 max:4 mapx[3] = count:3 sum:9 avg:3 min:0 max:6 mapx[4] = count:3 sum:12 avg:4 min:0 max:8 Add 'X' to strings maps[1] = value of 1*****X maps[2] = value of 2*****X maps[3] = value of 3*****X maps[4] = value of 4*****X setting everything to 0 Adding 0 mapx[1] = count:1 sum:0 avg:0 min:0 max:0 mapx[2] = count:1 sum:0 avg:0 min:0 max:0 mapx[3] = count:1 sum:0 avg:0 min:0 max:0 mapx[4] = count:1 sum:0 avg:0 min:0 max:0 setting everything to -1 mapi[1] = -1 mapi[2] = -1 mapi[3] = -1 mapi[4] = -1 mapx[1] = count:1 sum:-1 avg:-1 min:-1 max:-1 mapx[2] = count:1 sum:-1 avg:-1 min:-1 max:-1 mapx[3] = count:1 sum:-1 avg:-1 min:-1 max:-1 mapx[4] = count:1 sum:-1 avg:-1 min:-1 max:-1 adding -1 mapi[1] = -2 mapi[2] = -2 mapi[3] = -2 mapi[4] = -2 mapx[1] = count:2 sum:-2 avg:-1 min:-1 max:-1 mapx[2] = count:2 sum:-2 avg:-1 min:-1 max:-1 mapx[3] = count:2 sum:-2 avg:-1 min:-1 max:-1 mapx[4] = count:2 sum:-2 avg:-1 min:-1 max:-1 } test iiiiii {Test of 5 int keys and an int value} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test iiiiii.c } -body { exec ./test } -result {map[1, 2, 3, 4, 5] = 10 map[10, 20, 30, 40, 50] = 100 map[-1, -2, -3, -4, -5] = -10 map[100, 200, 300, 400, 500] = 1000 1 - 2 - 3 - 4 - 5 *** 10 10 - 20 - 30 - 40 - 50 *** 100 -1 - -2 - -3 - -4 - -5 *** -10 100 - 200 - 300 - 400 - 500 *** 1000 } test ssssss {Test of 5 string keys and a string value} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test ssssss.c } -body { exec ./test } -result {map[1ABC, 2ABC, 3ABC, 4ABC, 5ABC] = 666 map[1QRS, 2QRS, 3QRS, 4QRS, 5QRS] = 777 map[1abc, 2abc, 3abc, 4abc, 5abc] = 888 map[1XYZ, 2XYZ, 3XYZ, 4XYZ, 5XYZ] = 999 1ABC and 2ABC and 3ABC and 4ABC and 5ABC ---> 666 1QRS and 2QRS and 3QRS and 4QRS and 5QRS ---> 777 1abc and 2abc and 3abc and 4abc and 5abc ---> 888 1XYZ and 2XYZ and 3XYZ and 4XYZ and 5XYZ ---> 999 } test sort_stat {Test of sorting stats} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test sort_stat.c } -body { exec ./test } -result {Bogons per packet for California count:49600 sum:3288450 avg:66 min:0 max:99 value |-------------------------------------------------- count 0 |@@ 460 10 |@@@@@@@ 1460 20 |@@@@@@@@@@@@ 2460 30 |@@@@@@@@@@@@@@@@@@ 3460 40 |@@@@@@@@@@@@@@@@@@@@@@@ 4460 50 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5460 60 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6460 70 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7460 80 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8460 90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9460 Bogons per packet for Washington count:100 sum:2025 avg:20 min:0 max:81 value |-------------------------------------------------- count 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 42 10 |@@@@@@@@@@@@@@@@@ 17 20 |@@@@@@@@@@@@@ 13 30 |@@@@@@@@@ 9 40 |@@@@@@@@@ 9 50 |@@@@ 4 60 |@@@ 3 70 |@@ 2 80 |@ 1 90 | 0 Bogons per packet for Oregon count:90 sum:5700 avg:63 min:10 max:90 value |-------------------------------------------------- count 0 | 0 10 |@@ 2 20 |@@@@ 4 30 |@@@@@@ 6 40 |@@@@@@@@ 8 50 |@@@@@@@@@@ 10 60 |@@@@@@@@@@@@ 12 70 |@@@@@@@@@@@@@@ 14 80 |@@@@@@@@@@@@@@@@ 16 90 |@@@@@@@@@@@@@@@@@@ 18 Bogons per packet for Nevada count:45 sum:2970 avg:66 min:10 max:98 value |-------------------------------------------------- count 0 | 0 10 |@ 1 20 |@@ 2 30 |@@@ 3 40 |@@@@ 4 50 |@@@@@ 5 60 |@@@@@@ 6 70 |@@@@@@@ 7 80 |@@@@@@@@ 8 90 |@@@@@@@@@ 9 Bogons per packet for Ohio count:20 sum:1000 avg:50 min:50 max:50 value |-------------------------------------------------- count 30 | 0 40 | 0 50 |@@@@@@@@@@@@@@@@@@@@ 20 60 | 0 70 | 0 Bogons per packet for North Carolina count:45 sum:-4200 avg:-93 min:-620 max:100 value |-------------------------------------------------- count 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 26 10 |@ 1 20 |@@ 2 30 |@ 1 40 |@@ 2 50 |@ 1 60 |@ 1 70 |@ 1 80 |@ 1 90 |@@@@@@@@@ 9 Bogons per packet for New Mexico count:450 sum:8475 avg:18 min:-39 max:50 value |-------------------------------------------------- count 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 145 10 |@@@@@@@@@@@@@@@@@@@ 59 20 |@@@@@@@@@@@@@@@@@@@@@@@ 69 30 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 79 40 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 89 50 |@@@ 9 60 | 0 70 | 0 SORTED BY COUNT 49600 California 450 New Mexico 100 Washington 90 Oregon 45 Nevada 45 North Carolina 20 Ohio SORTED BY COUNT (low to high) 20 Ohio 45 Nevada 45 North Carolina 90 Oregon 100 Washington 450 New Mexico 49600 California SORTED BY SUM 3288450 California 8475 New Mexico 5700 Oregon 2970 Nevada 2025 Washington 1000 Ohio -4200 North Carolina SORTED BY SUM (low to high) -4200 North Carolina 1000 Ohio 2025 Washington 2970 Nevada 5700 Oregon 8475 New Mexico 3288450 California SORTED BY MIN 50 Ohio 10 Nevada 10 Oregon 0 Washington 0 California -39 New Mexico -620 North Carolina SORTED BY MIN (low to high) -620 North Carolina -39 New Mexico 0 Washington 0 California 10 Nevada 10 Oregon 50 Ohio SORTED BY MAX 100 North Carolina 99 California 98 Nevada 90 Oregon 81 Washington 50 New Mexico 50 Ohio SORTED BY MAX (low to high) 50 New Mexico 50 Ohio 81 Washington 90 Oregon 98 Nevada 99 California 100 North Carolina SORTED BY AVG 66 Nevada 66 California 63 Oregon 50 Ohio 20 Washington 18 New Mexico -93 North Carolina SORTED BY AVG (low to high) -93 North Carolina 18 New Mexico 20 Washington 50 Ohio 63 Oregon 66 Nevada 66 California } test sort2 {Test of sorting (odd number of elements)} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test sort2.c } -body { exec ./test } -result {sorting from A-Z on value Boston -> 5 5 Massachusetts Carson City -> 7 8 Nevada Columbus -> 1 2 Ohio Des Moines -> 8 8 Iowa Olympia -> 5 6 Washington Raleigh -> -1 9 North Carolina Sacramento -> 3 4 California Salem -> 7 8 Oregon Santa Fe -> 1 4 New Mexico sorting from Z-A on value Santa Fe -> 1 4 New Mexico Salem -> 7 8 Oregon Sacramento -> 3 4 California Raleigh -> -1 9 North Carolina Olympia -> 5 6 Washington Des Moines -> 8 8 Iowa Columbus -> 1 2 Ohio Carson City -> 7 8 Nevada Boston -> 5 5 Massachusetts sorting from low to high on key 1 -1 9 North Carolina -> Raleigh 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus 3 4 California -> Sacramento 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 8 8 Iowa -> Des Moines sorting from high to low on key 1 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston 3 4 California -> Sacramento 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus -1 9 North Carolina -> Raleigh sorting from low to high on key 2 1 2 Ohio -> Columbus 3 4 California -> Sacramento 1 4 New Mexico -> Santa Fe 5 5 Massachusetts -> Boston 5 6 Washington -> Olympia 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City -1 9 North Carolina -> Raleigh sorting from high to low on key 2 -1 9 North Carolina -> Raleigh 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston 3 4 California -> Sacramento 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus sorting from low to high on key 3 California 3 4 -> Sacramento Iowa 8 8 -> Des Moines Massachusetts 5 5 -> Boston Nevada 7 8 -> Carson City New Mexico 1 4 -> Santa Fe North Carolina -1 9 -> Raleigh Ohio 1 2 -> Columbus Oregon 7 8 -> Salem Washington 5 6 -> Olympia sorting from high to low on key 3 Washington 5 6 -> Olympia Oregon 7 8 -> Salem Ohio 1 2 -> Columbus North Carolina -1 9 -> Raleigh New Mexico 1 4 -> Santa Fe Nevada 7 8 -> Carson City Massachusetts 5 5 -> Boston Iowa 8 8 -> Des Moines California 3 4 -> Sacramento top 3 alphabetical by value Boston -> 5 5 Massachusetts Carson City -> 7 8 Nevada Columbus -> 1 2 Ohio bottom 2 alphabetical by value Santa Fe -> 1 4 New Mexico Salem -> 7 8 Oregon top 5 sorted by key 1 8 8 Iowa -> Des Moines 7 8 Oregon -> Salem 7 8 Nevada -> Carson City 5 6 Washington -> Olympia 5 5 Massachusetts -> Boston bottom 5 sorted by key 1 -1 9 North Carolina -> Raleigh 1 4 New Mexico -> Santa Fe 1 2 Ohio -> Columbus 3 4 California -> Sacramento 5 6 Washington -> Olympia sorted by population from low to high Nicosia is the capitol of Cyprus and the nerd population is -1 Valletta is the capitol of Malta and the nerd population is 1 Chisinau is the capitol of Moldova and the nerd population is 1024 Riga is the capitol of Latvia and the nerd population is 135786 Sofia is the capitol of Bulgaria and the nerd population is 138740 sorted by population from high to low Sofia is the capitol of Bulgaria and the nerd population is 138740 Riga is the capitol of Latvia and the nerd population is 135786 Chisinau is the capitol of Moldova and the nerd population is 1024 Valletta is the capitol of Malta and the nerd population is 1 Nicosia is the capitol of Cyprus and the nerd population is -1 } test size {Test of _stp_map_size()} -setup { exec gcc $CFLAGS -I $KPATH -I $PATH -I $MPATH -o test size.c } -body { exec ./test } -result {} catch {exec rm test} cleanupTests