clock_testing.go

 1package lamport
 2
 3import (
 4	"testing"
 5
 6	"github.com/stretchr/testify/assert"
 7)
 8
 9func testClock(t *testing.T, c Clock) {
10	assert.Equal(t, Time(1), c.Time())
11
12	val, err := c.Increment()
13	assert.NoError(t, err)
14	assert.Equal(t, Time(1), val)
15	assert.Equal(t, Time(2), c.Time())
16
17	err = c.Witness(41)
18	assert.NoError(t, err)
19	assert.Equal(t, Time(42), c.Time())
20
21	err = c.Witness(41)
22	assert.NoError(t, err)
23	assert.Equal(t, Time(42), c.Time())
24
25	err = c.Witness(30)
26	assert.NoError(t, err)
27	assert.Equal(t, Time(42), c.Time())
28}