From 6dc48772c0f8b26c9f727fdec9fe7fbd935099cc Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Mon, 21 Apr 2025 14:32:12 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Add=20testable=20examples?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example_test.go | 31 +++++++++++++++++++++++++++++++ ezcache_test.go | 4 +++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 example_test.go diff --git a/example_test.go b/example_test.go new file mode 100644 index 0000000..d8e1240 --- /dev/null +++ b/example_test.go @@ -0,0 +1,31 @@ +//nolint:perfsprint // Not that concerned about microoptimizations for test code +package ezcache_test + +import ( + "fmt" + "time" + + "codeberg.org/danjones000/ezcache" +) + +func Example() { + // Create a five minute cache. + cache, _ := ezcache.New(func(id uint8) (string, error) { + fmt.Println("Fetching new value for", id) + return fmt.Sprintf("%d", id), nil + }, 5*time.Minute) + + val, _ := cache.Get(5) + fmt.Println("Got value", val) + val, _ = cache.Get(5) + fmt.Println("Got value", val) + val, _ = cache.Get(4) + fmt.Println("Got value", val) + + // Output: + // Fetching new value for 5 + // Got value 5 + // Got value 5 + // Fetching new value for 4 + // Got value 4 +} diff --git a/ezcache_test.go b/ezcache_test.go index b713a75..0787885 100644 --- a/ezcache_test.go +++ b/ezcache_test.go @@ -1,3 +1,4 @@ +//nolint:perfsprint // Not that concerned about microoptimizations for test code package ezcache_test import ( @@ -69,7 +70,7 @@ func TestGetExpire(t *testing.T) { assert.True(t, hit) hit = false - time.Sleep(2) + time.Sleep(2 * time.Nanosecond) val, err = cache.Get(4) assert.NoError(t, err) assert.Equal(t, "4", val) @@ -77,6 +78,7 @@ func TestGetExpire(t *testing.T) { } func TestGetError(t *testing.T) { + //nolint:err113 // It's just a test for an error. cache, _ := ezcache.New(func(k uint8) (byte, error) { return 0, fmt.Errorf("Nope for %d", k) }, 1) _, err := cache.Get(4)