refactor: deduplicate numericOnly and DuckDuckGo result extraction
- Extract identical numericOnly inline functions from powerball and megamillions into shared sites/internal/parse.NumericOnly with tests - Extract duplicated DuckDuckGo result parsing from Search() and GetResults() into shared extractResults() helper Closes #13, #14 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
25
sites/internal/parse/parse_test.go
Normal file
25
sites/internal/parse/parse_test.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package parse
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestNumericOnly(t *testing.T) {
|
||||
tests := []struct {
|
||||
input string
|
||||
want float64
|
||||
}{
|
||||
{"$1.5 Billion", 1.5},
|
||||
{"$100 Million", 100},
|
||||
{"$200,000", 200000},
|
||||
{"no numbers", 0},
|
||||
{"", 0},
|
||||
{"42", 42},
|
||||
{"3.14159", 3.14159},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
got := NumericOnly(tt.input)
|
||||
if got != tt.want {
|
||||
t.Errorf("NumericOnly(%q) = %v, want %v", tt.input, got, tt.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user