1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package ctn
- import (
- "testing"
- "sort"
- )
- func TestMapFilterReduce(t *testing.T) {
- a := [] int { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
- a = MapEach(a, func(i int) int {
- return i*10
- })
- a = Filter(a, func(i int) bool {
- return (i <= 40)
- })
- { a := Reduce(a, int(1), func(sum int, i int) int {
- return (sum + i)
- })
- if a != 101 {
- t.Fatalf("wrong result: %d", a)
- } }
- }
- func TestStableSort(t *testing.T) {
- u := [] int { 50, 55, 60, 65, 20, 30, 35, 80, 85, 90, 10, 12, 18, 70, 40 }
- v, _ := (StableSort(u, func(a int, b int) bool {
- return ((a / 10) < (b / 10))
- }))
- sort.Slice(u, func(i, j int) bool {
- return (u[i] < u[j])
- })
- for i := range u {
- if u[i] != v[i] {
- t.Fatalf("wrong result: %+v", v)
- }
- }
- }
|