35 lines
878 B
Go
35 lines
878 B
Go
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)
|
|
}
|
|
}
|