internal/number: implement test string type

Change-Id: I29f3914decb7a4dbe1f7e876f7278bd6e24d846f
Reviewed-on: https://go-review.googlesource.com/58411
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/internal/number/decimal_test.go b/internal/number/decimal_test.go
index 5c81700..e21b8a3 100644
--- a/internal/number/decimal_test.go
+++ b/internal/number/decimal_test.go
@@ -22,6 +22,15 @@
 // digits are shifted. Numbers may have an additional exponent or be the special
 // value NaN, Inf, or -Inf.
 func mkdec(num string) (d Decimal) {
+	var r RoundingContext
+	d.Convert(&r, dec(num))
+	return
+}
+
+type dec string
+
+func (s dec) Convert(d *Decimal, _ *RoundingContext) {
+	num := string(s)
 	if num[0] == '-' {
 		d.Neg = true
 		num = num[1:]
@@ -52,7 +61,7 @@
 	for i := range d.Digits {
 		d.Digits[i] -= '0'
 	}
-	return d.normalize()
+	*d = d.normalize()
 }
 
 func byteNum(s string) []byte {