diff options
Diffstat (limited to 'internal/item/house_edge_test.go')
| -rw-r--r-- | internal/item/house_edge_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/internal/item/house_edge_test.go b/internal/item/house_edge_test.go new file mode 100644 index 0000000..574a68f --- /dev/null +++ b/internal/item/house_edge_test.go @@ -0,0 +1,29 @@ +package item + +import "testing" + +// TestHouseEdgeItemDefinitions pins the two house-edge reference items: the +// tile shows whole percent, the computus shows hundredths. Neither stacks +// (the precision is a capability, not a quantity) and both are valuable +// enough that a player will bank them rather than drop them. +func TestHouseEdgeItemDefinitions(t *testing.T) { + store := NewItemStore("../../data") + for _, tc := range []struct { + id string + precision int + }{ + {"house_edge_tile", 0}, + {"house_edge_computus", 2}, + } { + def, err := store.Load(tc.id) + if err != nil { + t.Fatalf("load %s: %v", tc.id, err) + } + if def.HouseEdgePrecision == nil || *def.HouseEdgePrecision != tc.precision { + t.Fatalf("%s: house_edge_precision = %v, want %d", tc.id, def.HouseEdgePrecision, tc.precision) + } + if def.Stackable { + t.Fatalf("%s must not stack (its precision is a capability, not a quantity)", tc.id) + } + } +} |
