mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
34 lines
759 B
Go
34 lines
759 B
Go
package startup
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/OffchainLabs/prysm/v7/consensus-types/primitives"
|
|
"github.com/OffchainLabs/prysm/v7/time/slots"
|
|
)
|
|
|
|
// MockNower is a mock implementation of the Nower interface for use in tests.
|
|
type MockNower struct {
|
|
t time.Time
|
|
}
|
|
|
|
// Now satisfies the Nower interface using a mocked time value
|
|
func (m *MockNower) Now() time.Time {
|
|
return m.t
|
|
}
|
|
|
|
// SetSlot sets the current time to the start of the given slot.
|
|
func (m *MockNower) SetSlot(t *testing.T, c *Clock, s primitives.Slot) {
|
|
now, err := slots.StartTime(c.GenesisTime(), s)
|
|
if err != nil {
|
|
t.Fatalf("failed to set slot: %v", err)
|
|
}
|
|
m.t = now
|
|
}
|
|
|
|
// Set sets the current time to the given time.
|
|
func (m *MockNower) Set(now time.Time) {
|
|
m.t = now
|
|
}
|