diff options
| author | ewy <ewy0@protonmail.com> | 2026-09-11 15:00:48 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-09-11 15:00:48 +0200 |
| commit | c69e6c0770359e2febafcf487eb21c4aa608c3e9 (patch) | |
| tree | d1f4ac93b2bca7b4df62d698fde91ed15371c6c7 /engine/pool/pool_test.go | |
initial commit
Diffstat (limited to 'engine/pool/pool_test.go')
| -rw-r--r-- | engine/pool/pool_test.go | 76 |
1 files changed, 76 insertions, 0 deletions
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) +} |
