pr feedback

This commit is contained in:
William Banfield
2021-08-03 14:26:58 -04:00
parent 46fb64f0f1
commit 5c01aa0de9
+12 -12
View File
@@ -16,40 +16,40 @@ func TestCListProperties(t *testing.T) {
type clistModel struct {
clist *clist.CList
state []*clist.CElement
model []*clist.CElement
}
func (m *clistModel) Init(t *rapid.T) {
m.clist = clist.New()
m.state = []*clist.CElement{}
m.model = []*clist.CElement{}
}
func (m *clistModel) PushBack(t *rapid.T) {
value := rapid.String().Draw(t, "value").(string)
el := m.clist.PushBack(value)
m.state = append(m.state, el)
m.model = append(m.model, el)
}
func (m *clistModel) Remove(t *rapid.T) {
if len(m.state) == 0 {
if len(m.model) == 0 {
return
}
ix := rapid.IntRange(0, len(m.state)-1).Draw(t, "index").(int)
value := m.state[ix]
m.state = append(m.state[:ix], m.state[ix+1:]...)
ix := rapid.IntRange(0, len(m.model)-1).Draw(t, "index").(int)
value := m.model[ix]
m.model = append(m.model[:ix], m.model[ix+1:]...)
m.clist.Remove(value)
}
func (m *clistModel) Check(t *rapid.T) {
require.Equal(t, len(m.state), m.clist.Len())
if len(m.state) == 0 {
require.Equal(t, len(m.model), m.clist.Len())
if len(m.model) == 0 {
return
}
require.Equal(t, m.state[0], m.clist.Front())
require.Equal(t, m.state[len(m.state)-1], m.clist.Back())
require.Equal(t, m.model[0], m.clist.Front())
require.Equal(t, m.model[len(m.model)-1], m.clist.Back())
iter := m.clist.Front()
for _, val := range m.state {
for _, val := range m.model {
require.Equal(t, val, iter)
iter = iter.Next()
}