package ebay import "testing" func TestMarketplaceID(t *testing.T) { cases := map[string]string{ "ebay.com": "EBAY_US", "ebay.co.uk": "EBAY_GB", "ebay.de": "EBAY_DE", "ebay.com.au": "EBAY_AU", "EBAY.CA": "EBAY_CA", "ebay": "EBAY_US", "weird-market": "EBAY_US", " ebay.it ": "EBAY_IT", } for in, want := range cases { if got := MarketplaceID(in); got != want { t.Errorf("MarketplaceID(%q) = %q, want %q", in, got, want) } } } func TestIsEbayMarketplace(t *testing.T) { if !IsEbayMarketplace("ebay.co.uk") { t.Error("ebay.co.uk should be an eBay marketplace") } if IsEbayMarketplace("yahoo-auctions-jp") { t.Error("yahoo should not be an eBay marketplace") } } func TestBuyingOptionsFilter(t *testing.T) { cases := map[string]string{ "": "", "all": "", "bin": "buyingOptions:{FIXED_PRICE}", "buy_it_now": "buyingOptions:{FIXED_PRICE}", "auction": "buyingOptions:{AUCTION}", } for in, want := range cases { if got := buyingOptionsFilter(in); got != want { t.Errorf("buyingOptionsFilter(%q) = %q, want %q", in, got, want) } } } func TestConditionIDsFilter(t *testing.T) { cases := map[string]string{ "": "", "anything": "", "new": "conditionIds:{1000|1500}", "NEW": "conditionIds:{1000|1500}", " used ": "conditionIds:{3000}", "refurbished": "conditionIds:{2000|2010|2020|2030|2500}", "parts": "conditionIds:{7000}", } for in, want := range cases { if got := conditionIDsFilter(in); got != want { t.Errorf("conditionIDsFilter(%q) = %q, want %q", in, got, want) } } } func TestItemLocationFilter(t *testing.T) { cases := map[string]string{ "": "", " ": "", "us": "itemLocationCountry:US", "GB": "itemLocationCountry:GB", " jp ": "itemLocationCountry:JP", } for in, want := range cases { if got := itemLocationFilter(in); got != want { t.Errorf("itemLocationFilter(%q) = %q, want %q", in, got, want) } } }