test coverage only by PBT
Go / test (push) Successful in 13s

This commit is contained in:
2025-11-04 15:11:24 -10:00
parent 5ac5acd6d1
commit ec10d85591
+37 -33
View File
@@ -6,39 +6,39 @@ import (
"testing"
)
func TestListLen(t *testing.T) {
assert.Equal(t, 0, Empty().Len(), "should insert at head")
assert.Equal(t, 1, Empty().Conj(1).Len(), "should insert at head")
assert.Equal(t, 2, Empty().Conj(1).Conj(2).Len(), "should insert at head")
}
func TestListString(t *testing.T) {
assert.Equal(t, "()", Empty().String(), "should insert at head")
}
func TestListConj(t *testing.T) {
var l IList
assert.Equal(t, "()", Empty().String(), "should insert at head")
l = New(5)
assert.Equal(t, "(5)", l.String(), "should insert at head")
l = Empty().Conj(4)
assert.Equal(t, "(4)", l.String(), "should insert at head")
}
func TestListFirst(t *testing.T) {
l := Empty().Conj(5).Conj(6).Conj(7)
assert.Equal(t, 7, l.First(), "should return first element")
assert.Equal(t, nil, Empty().First(), "should return nil")
}
func TestListRest(t *testing.T) {
l := Empty().Conj(5).Conj(6).Conj(7)
assert.Equal(t, "(6 5)", l.Rest().String(), "should return rest sublist")
assert.Equal(t, "(5)", l.Rest().Rest().String(), "should return rest sublist")
assert.Equal(t, "()", l.Rest().Rest().Rest().String(), "should return rest sublist")
assert.Equal(t, Empty(), Empty().Rest(), "should return rest sublist")
assert.Equal(t, Empty(), Empty().Rest().Rest(), "should return rest sublist")
}
// func TestListLen(t *testing.T) {
// assert.Equal(t, 0, Empty().Len(), "should insert at head")
// assert.Equal(t, 1, Empty().Conj(1).Len(), "should insert at head")
// assert.Equal(t, 2, Empty().Conj(1).Conj(2).Len(), "should insert at head")
// }
//
// func TestListString(t *testing.T) {
// assert.Equal(t, "()", Empty().String(), "should insert at head")
// }
//
// func TestListConj(t *testing.T) {
// var l IList
// assert.Equal(t, "()", Empty().String(), "should insert at head")
// l = New(5)
// assert.Equal(t, "(5)", l.String(), "should insert at head")
// l = Empty().Conj(4)
// assert.Equal(t, "(4)", l.String(), "should insert at head")
// }
//
// func TestListFirst(t *testing.T) {
// l := Empty().Conj(5).Conj(6).Conj(7)
// assert.Equal(t, 7, l.First(), "should return first element")
// assert.Equal(t, nil, Empty().First(), "should return nil")
// }
//
// func TestListRest(t *testing.T) {
// l := Empty().Conj(5).Conj(6).Conj(7)
// assert.Equal(t, "(6 5)", l.Rest().String(), "should return rest sublist")
// assert.Equal(t, "(5)", l.Rest().Rest().String(), "should return rest sublist")
// assert.Equal(t, "()", l.Rest().Rest().Rest().String(), "should return rest sublist")
// assert.Equal(t, Empty(), Empty().Rest(), "should return rest sublist")
// assert.Equal(t, Empty(), Empty().Rest().Rest(), "should return rest sublist")
// }
// generative tests
func ListLengthProperty(t *testing.T) {
@@ -56,6 +56,10 @@ func ListLengthProperty(t *testing.T) {
}
myList = myList.Rest()
},
"stringify": func(t *rapid.T) {
myList.String()
},
"": func(t *rapid.T) {
assert.Equal(t, myList.Len(), expectedSized, "must be equal")
},