summaryrefslogtreecommitdiffstats
path: root/internal/pausedtimer/timer_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pausedtimer/timer_test.go')
-rw-r--r--internal/pausedtimer/timer_test.go70
1 files changed, 49 insertions, 21 deletions
diff --git a/internal/pausedtimer/timer_test.go b/internal/pausedtimer/timer_test.go
index ac42690..924c07c 100644
--- a/internal/pausedtimer/timer_test.go
+++ b/internal/pausedtimer/timer_test.go
@@ -3,48 +3,76 @@ package pausedtimer
import (
"testing"
"time"
-
- "github.com/stretchr/testify/assert"
)
func TestNew(t *testing.T) {
d := 1 * time.Second
timer := New(d)
- assert.Equal(t, d, timer.duration)
- assert.NotNil(t, timer.Ticker)
+ if timer.duration != d {
+ t.Errorf("expected duration %#v, got %v", d, timer.duration)
+ }
+ if timer.Ticker == nil {
+ t.Error("expected Ticker to be non-nil")
+ }
+}
+
+func TestPauseTimerZeroDuration(t *testing.T) {
+ timer := New(0)
+ if timer.GetDuration() != 0 {
+ t.Errorf("expected duration %v, got %v", time.Duration(0), timer.GetDuration())
+ }
+ if timer.Ticker == nil {
+ t.Error("expected Ticker to be non-nil")
+ }
+}
+
+func TestPauseTimerResetToZero(t *testing.T) {
+ timer := New(1 * time.Second)
+ timer.Reset(0)
+ if timer.GetDuration() != 0 {
+ t.Errorf("expected duration %v, got %v", time.Duration(0), timer.GetDuration())
+ }
+}
+
func TestPauseTimerPauseAndResume(t *testing.T) {
- d := 1 * time.Second
- timer := New(d)
- timer.Stop() // Simulate pause
- time.Sleep(500 * time.Millisecond)
- timer.Resume()
+ d := 1 * time.Second
+ timer := New(d)
+ timer.Stop() // Simulate pause
+ time.Sleep(500 * time.Millisecond)
+ timer.Resume()
- select {
- case <-timer.C:
- // Timer should not have fired yet
- t.Fatal("Timer fired too early")
- case <-time.After(600 * time.Millisecond):
- // Timer should fire after resuming
- }
+ select {
+ case <-timer.C:
+ // Timer should not have fired yet
+ t.Fatal("Timer fired too early")
+ case <-time.After(600 * time.Millisecond):
+ // Timer should fire after resuming
+ }
}
func TestPauseTimerReset(t *testing.T) {
d := 1 * time.Second
timer := New(d)
- newD := 2 * time.Second
- timer.Reset(newD)
- assert.Equal(t, newD, timer.duration)
+ got := 2 * time.Second
+ timer.Reset(got)
+ if timer.duration != got {
+ t.Errorf("expected duration %v, got %v", got, timer.duration)
+ }
}
func TestPauseTimerResume(t *testing.T) {
d := 1 * time.Second
timer := NewStopped(d)
timer.Resume()
- assert.Equal(t, d, timer.duration)
+ if timer.duration != d {
+ t.Errorf("expected duration %v, got %v", d, timer.duration)
+ }
}
func TestPauseTimerGetDuration(t *testing.T) {
d := 1 * time.Second
timer := New(d)
- assert.Equal(t, d, timer.GetDuration())
+ if timer.GetDuration() != d {
+ t.Errorf("expected duration %v, got %v", d, timer.GetDuration())
+ }
}