platform
This commit is contained in:
1 parent
e706f7d907
commit
21bcb63440
42 files changed
+5903
No files matched your search
@@ -0,0 +1,47 @@
|
||||
package inventory
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestLevelFor(t *testing.T) {
|
||||
const low = int64(5)
|
||||
cases := []struct {
|
||||
qty int64
|
||||
want Level
|
||||
}{
|
||||
{-3, LevelNone},
|
||||
{0, LevelNone},
|
||||
{1, LevelLow},
|
||||
{5, LevelLow}, // at the watermark is still low
|
||||
{6, LevelHigh},
|
||||
{1000, LevelHigh},
|
||||
}
|
||||
for _, c := range cases {
|
||||
if got := LevelFor(c.qty, low); got != c.want {
|
||||
t.Errorf("LevelFor(%d, %d) = %q, want %q", c.qty, low, got, c.want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestLevelInStock(t *testing.T) {
|
||||
if LevelNone.InStock() {
|
||||
t.Error("none should not be in stock")
|
||||
}
|
||||
if !LevelLow.InStock() || !LevelHigh.InStock() {
|
||||
t.Error("low and high should be in stock")
|
||||
}
|
||||
}
|
||||
|
||||
func TestLevelChangedRoundTrip(t *testing.T) {
|
||||
in := LevelChanged{SKU: "ABC-1", Location: "se", Level: LevelLow}
|
||||
raw, err := in.Encode()
|
||||
if err != nil {
|
||||
t.Fatalf("encode: %v", err)
|
||||
}
|
||||
out, err := Decode(raw)
|
||||
if err != nil {
|
||||
t.Fatalf("decode: %v", err)
|
||||
}
|
||||
if out != in {
|
||||
t.Errorf("round-trip mismatch: got %+v, want %+v", out, in)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user