From a5194b3be4768d42b27ef9e2d0d52479e0436758 Mon Sep 17 00:00:00 2001 From: Marc Pervaz Boocha Date: Tue, 25 Feb 2025 09:47:02 +0530 Subject: Removed testify and improved tests --- internal/pausedtimer/timer.go | 2 ++ internal/pausedtimer/timer_test.go | 72 ++++++++++++++++++++++++++------------ 2 files changed, 52 insertions(+), 22 deletions(-) (limited to 'internal') diff --git a/internal/pausedtimer/timer.go b/internal/pausedtimer/timer.go index 691c257..6ff212c 100644 --- a/internal/pausedtimer/timer.go +++ b/internal/pausedtimer/timer.go @@ -22,6 +22,7 @@ func New(d time.Duration) *PauseTimer { ret.Ticker = time.NewTicker(math.MaxInt64) ret.Reset(0) } + return ret } @@ -29,6 +30,7 @@ func New(d time.Duration) *PauseTimer { func NewStopped(d time.Duration) *PauseTimer { ret := New(d) ret.Stop() + return ret } 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() - - 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 - } + 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 + } } 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()) + } } -- cgit v1.2.3-70-g09d2