This commit is contained in:
parent
a1df089c02
commit
8463e40780
112
matrix_test.go
Normal file
112
matrix_test.go
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
// Copyright 2022 wanderer <wanderer at dotya.ml>
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestStoi(t *testing.T) {
|
||||||
|
want := 42
|
||||||
|
got := stoi("42")
|
||||||
|
|
||||||
|
if got != want {
|
||||||
|
t.Errorf("output mismatch, want: %d, got %d", want, got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestRowtoi(t *testing.T) {
|
||||||
|
row := []string{"42", "15", "39", "1270880", "11", "0", "-342"}
|
||||||
|
want := []int{42, 15, 39, 1270880, 11, 0, -342}
|
||||||
|
got := rowtoi(row)
|
||||||
|
|
||||||
|
if len(want) != len(got) || len(got) != len(row) {
|
||||||
|
t.Errorf(
|
||||||
|
"row len mismatch, len(row): %d, len(want): %d, len(got): %d",
|
||||||
|
len(row), len(want), len(got),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range row {
|
||||||
|
if want[i] != got[i] {
|
||||||
|
t.Errorf("conversion gone wrong, want: %#v, got: %#v", want, got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIsNonEmpty(t *testing.T) {
|
||||||
|
strm := [][]string{{}}
|
||||||
|
|
||||||
|
want := false
|
||||||
|
got := isNonEmptyMatrix(strm)
|
||||||
|
|
||||||
|
if want != got {
|
||||||
|
t.Errorf("matrix eval gone wrong, want: %t, got: %t, matrix: %#v",
|
||||||
|
want, got, strm,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
strm = [][]string{{"905548", "28383", "78439", "878237892"}}
|
||||||
|
want = true
|
||||||
|
got = isNonEmptyMatrix(strm)
|
||||||
|
|
||||||
|
if want != got {
|
||||||
|
t.Errorf("matrix eval gone wrong, want: %t, got: %t, matrix: %#v",
|
||||||
|
want, got, strm,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
strm = [][]string{{"75420", "59854"}, {"4532", "543"}}
|
||||||
|
|
||||||
|
got = isNonEmptyMatrix(strm)
|
||||||
|
if want != got {
|
||||||
|
t.Errorf("matrix eval gone wrong, want: %t, got: %t, matrix: %#v",
|
||||||
|
want, got, strm,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestInitMatrix(t *testing.T) {
|
||||||
|
strm := [][]string{{"78429", "43", "28383", "78439", "878237892"}, {"542", "1566", "9", "76982", "4323"}}
|
||||||
|
want := 2
|
||||||
|
got := initMatrix(strm)
|
||||||
|
|
||||||
|
if want != len(got.rows) || len(got.rows) != len(strm) {
|
||||||
|
t.Errorf("matrix len mismatch, want: %d, got: %d, strm: %d",
|
||||||
|
want, len(got.rows), len(strm),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConvertMatrix(t *testing.T) {
|
||||||
|
strm := [][]string{{"78429", "43", "28383", "78439", "878237892"}, {"542", "1566", "9", "76982", "4323"}}
|
||||||
|
want := &matrix{}
|
||||||
|
got := convertMatrix(strm)
|
||||||
|
|
||||||
|
want.rows = [][]int{{78429, 43, 28383, 78439, 878237892}, {542, 1566, 9, 76982, 4323}}
|
||||||
|
|
||||||
|
if len(want.rows) != len(got.rows) || len(got.rows) != len(strm) {
|
||||||
|
t.Errorf("matrix len mismatch, want: %d, got: %d, strm: %d",
|
||||||
|
len(want.rows), len(got.rows), len(strm),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, row := range strm {
|
||||||
|
for j := 0; j < len(row); j++ {
|
||||||
|
if want.rows[i][j] != got.rows[i][j] {
|
||||||
|
t.Errorf(
|
||||||
|
"conversion gone wrong, want: %#v, got: %#v, strm: %#v",
|
||||||
|
want, got, strm,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFmtPath(t *testing.T) {
|
||||||
|
want := "[43,42] (98732)"
|
||||||
|
got := fmtPath(43, 42, 98732)
|
||||||
|
|
||||||
|
if want != got {
|
||||||
|
t.Errorf("string mismatch, want: %q, got: %q", want, got)
|
||||||
|
}
|
||||||
|
}
|
20
read_test.go
Normal file
20
read_test.go
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// Copyright 2022 wanderer <wanderer at dotya.ml>
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestReadArg(t *testing.T) {
|
||||||
|
want := [][]string{{"whatever"}}
|
||||||
|
r := readArg("whatever")
|
||||||
|
|
||||||
|
got, err := r.ReadAll()
|
||||||
|
if err != nil {
|
||||||
|
t.Error("error reading arg", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got[0][0] != want[0][0] {
|
||||||
|
t.Errorf("output mismatch, want: %q, got %q", want, got)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user