| // Copyright 2017 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| package main |
| |
| import "testing" |
| |
| func TestIntFromStr(t *testing.T) { |
| testcases := []struct { |
| s string |
| i int |
| }{ |
| {"123", 123}, |
| {"User ID: 98403", 98403}, |
| {"1234 User 5431 ID", 1234}, |
| {"Stardate 153.2415", 153}, |
| } |
| for _, tc := range testcases { |
| r, ok := intFromStr(tc.s) |
| if !ok { |
| t.Errorf("intFromStr(%q) = %v", tc.s, ok) |
| } |
| if r != tc.i { |
| t.Errorf("intFromStr(%q) = %d; want %d", tc.s, r, tc.i) |
| } |
| } |
| noInt := "hello there" |
| _, ok := intFromStr(noInt) |
| if ok { |
| t.Errorf("intFromStr(%q) = %v; want false", noInt, ok) |
| } |
| } |