Tests
This commit is contained in:
parent
f3eada70a8
commit
c08497b146
61
converter/converter_test.go
Normal file
61
converter/converter_test.go
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
package converter
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestConvert(t *testing.T) {
|
||||||
|
result, err := Convert("50aa", "km")
|
||||||
|
if err == nil {
|
||||||
|
t.Log("should be error")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
result, err = Convert("aami", "km")
|
||||||
|
if err == nil {
|
||||||
|
t.Log("should be error")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
result, err = Convert("50mi", "aa")
|
||||||
|
if err == nil {
|
||||||
|
t.Log("should be error")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
result, err = Convert("50mi", "km")
|
||||||
|
if err != nil {
|
||||||
|
t.Log("error should be nil")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
if !strings.HasSuffix(result, "km") {
|
||||||
|
t.Log("wrong unit")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
convTests := []struct{ input, unit1, unit2 string }{
|
||||||
|
{"50.00", "mi", "km"},
|
||||||
|
{"50.00", "ft", "m"},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, c := range convTests {
|
||||||
|
input := c.input + c.unit1
|
||||||
|
conv1, err := Convert(input, c.unit2)
|
||||||
|
if err != nil {
|
||||||
|
t.Log("error should be nil")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
conv2, err := Convert(conv1, c.unit1)
|
||||||
|
if err != nil {
|
||||||
|
t.Log("error should be nil")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
if input != conv2 {
|
||||||
|
t.Log("Conversion error", input, conv2)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user