From c69e6c0770359e2febafcf487eb21c4aa608c3e9 Mon Sep 17 00:00:00 2001 From: ewy Date: Fri, 11 Sep 2026 15:00:48 +0200 Subject: initial commit --- engine/pool/pool_test.go | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 engine/pool/pool_test.go (limited to 'engine/pool/pool_test.go') diff --git a/engine/pool/pool_test.go b/engine/pool/pool_test.go new file mode 100644 index 0000000..4dd0ea5 --- /dev/null +++ b/engine/pool/pool_test.go @@ -0,0 +1,76 @@ +package pool + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func TestPool_Add(t *testing.T) { + p := &Pool{ + Max: 10, + Value: 3, + } + p.Add(4) +} + +func TestPool_Add_Overflows(t *testing.T) { + shad := &Pool{ + Max: 5, + Value: 0, + } + dist := &Pool{ + OverflowsTo: shad, + Max: 5, + Value: 0, + } + dist.Add(8) + assert.Equal(t, shad.Value, 3) +} + +func TestPool_Subtract(t *testing.T) { + p := &Pool{ + Max: 10, + Value: 8, + } + p.Subtract(6) + assert.Equal(t, 2, p.Value) +} + +func TestPool_Subtract_Empties(t *testing.T) { + p := &Pool{ + Max: 10, + Value: 4, + } + p.Subtract(8) + assert.Equal(t, 0, p.Value) +} + +func TestPool_Subtract_Flows(t *testing.T) { + dest := &Pool{ + Value: 0, + Max: Infinite, + } + p := &Pool{ + SubtractsTo: dest, + Max: Infinite, + Value: 10, + } + p.Subtract(8) + assert.Equal(t, 8, dest.Value) + assert.Equal(t, 2, p.Value) +} + +func TestPool_Subtract_Flows_Empties(t *testing.T) { + dest := &Pool{ + Value: 0, + Max: Infinite, + } + p := &Pool{ + SubtractsTo: dest, + Max: Infinite, + Value: 5, + } + p.Subtract(8) + assert.Equal(t, 5, dest.Value) + assert.Equal(t, 0, p.Value) +} -- cgit v1.3.1