package order import ( "testing" ) // TestReExports verifies that the order package's type aliases and // forwarders to pkg/cart compile and work correctly. func TestReExports(t *testing.T) { // Type alias: TaxProvider = cart.TaxProvider var _ TaxProvider = NewNordicTaxProvider("SE") var _ TaxProvider = NewStaticTaxProvider() // NordicTaxProvider p := NewNordicTaxProvider("SE") if p.Name() != "nordic" { t.Errorf("Name = %q", p.Name()) } if got := p.DefaultTaxRate("SE"); got != 25 { t.Errorf("DefaultTaxRate(SE) = %d, want 25", got) } if got := ComputeTax(1250, 25); got != 250 { t.Errorf("ComputeTax(1250, 25) = %d, want 250", got) } // StaticTaxProvider s := NewStaticTaxProvider() if s.Name() != "static" { t.Errorf("Name = %q", s.Name()) } if got := s.DefaultTaxRate("SE"); got != 0 { t.Errorf("DefaultTaxRate(SE) = %d, want 0", got) } }