mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.1 KiB
49 lines
1.1 KiB
5 years ago
|
package main
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/01-edu/z01"
|
||
|
|
||
|
solutions "../../solutions"
|
||
|
)
|
||
|
|
||
|
// this is the function that creates the TESTS
|
||
|
func TestAtoiBaseProg(t *testing.T) {
|
||
|
type node struct {
|
||
|
s string
|
||
|
base string
|
||
|
}
|
||
|
|
||
|
table := []node{}
|
||
|
|
||
|
// 15 random pairs of string numbers with valid bases
|
||
|
for i := 0; i < 15; i++ {
|
||
|
validBaseToInput := solutions.RandomValidBase()
|
||
|
val := node{
|
||
|
s: solutions.RandomStringFromBase(validBaseToInput),
|
||
|
base: validBaseToInput,
|
||
|
}
|
||
|
table = append(table, val)
|
||
|
}
|
||
|
// 15 random pairs of string numbers with invalid bases
|
||
|
for i := 0; i < 15; i++ {
|
||
|
invalidBaseToInput := solutions.RandomInvalidBase()
|
||
|
val := node{
|
||
|
s: "thisinputshouldnotmatter",
|
||
|
base: invalidBaseToInput,
|
||
|
}
|
||
|
table = append(table, val)
|
||
|
}
|
||
|
table = append(table,
|
||
|
node{s: "125", base: "0123456789"},
|
||
|
node{s: "1111101", base: "01"},
|
||
|
node{s: "7D", base: "0123456789ABCDEF"},
|
||
|
node{s: "uoi", base: "choumi"},
|
||
|
node{s: "bbbbbab", base: "-ab"},
|
||
|
)
|
||
|
for _, arg := range table {
|
||
|
z01.Challenge(t, AtoiBase, solutions.AtoiBase, arg.s, arg.base)
|
||
|
}
|
||
|
}
|