79 lines
1.5 KiB
Go
79 lines
1.5 KiB
Go
package pack
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestBoundsLeft(t *testing.T) {
|
|
assert.EqualValues(t, 1, newBounds(1, 2).Left())
|
|
}
|
|
|
|
func TestBoundsRight(t *testing.T) {
|
|
assert.EqualValues(t, 2, newBounds(1, 2).Right())
|
|
}
|
|
|
|
func TestBoundsWithLeftReturnsNewBounds(t *testing.T) {
|
|
b1 := newBounds(1, 2)
|
|
b2 := b1.WithLeft(3)
|
|
|
|
assert.EqualValues(t, 1, b1.Left())
|
|
assert.EqualValues(t, 2, b1.Right())
|
|
|
|
assert.EqualValues(t, 3, b2.Left())
|
|
assert.EqualValues(t, 2, b2.Right())
|
|
}
|
|
|
|
func TestBoundsWithRightReturnsNewBounds(t *testing.T) {
|
|
b1 := newBounds(1, 2)
|
|
b2 := b1.WithRight(3)
|
|
|
|
assert.EqualValues(t, 1, b1.Left())
|
|
assert.EqualValues(t, 2, b1.Right())
|
|
|
|
assert.EqualValues(t, 1, b2.Left())
|
|
assert.EqualValues(t, 3, b2.Right())
|
|
}
|
|
|
|
func TestBoundsEqualWithIdenticalBounds(t *testing.T) {
|
|
b1 := newBounds(1, 2)
|
|
b2 := newBounds(1, 2)
|
|
|
|
assert.True(t, b1.Equal(b2))
|
|
}
|
|
|
|
func TestBoundsEqualWithDifferentBounds(t *testing.T) {
|
|
b1 := newBounds(1, 2)
|
|
b2 := newBounds(3, 4)
|
|
|
|
assert.False(t, b1.Equal(b2))
|
|
}
|
|
|
|
func TestBoundsEqualWithNilReceiver(t *testing.T) {
|
|
bnil := (*bounds)(nil)
|
|
b2 := newBounds(1, 2)
|
|
|
|
assert.False(t, bnil.Equal(b2))
|
|
}
|
|
|
|
func TestBoundsEqualWithNilArgument(t *testing.T) {
|
|
b1 := newBounds(1, 2)
|
|
bnil := (*bounds)(nil)
|
|
|
|
assert.False(t, b1.Equal(bnil))
|
|
}
|
|
|
|
func TestBoundsEqualWithNilArgumentAndReceiver(t *testing.T) {
|
|
b1 := (*bounds)(nil)
|
|
b2 := (*bounds)(nil)
|
|
|
|
assert.True(t, b1.Equal(b2))
|
|
}
|
|
|
|
func TestBoundsString(t *testing.T) {
|
|
b1 := newBounds(1, 2)
|
|
|
|
assert.Equal(t, "[1,2]", b1.String())
|
|
}
|