From 0b43d1f82c8b51e5b4d1fd1e91dafc0d319d8745 Mon Sep 17 00:00:00 2001 From: Marcel Edmund Franke Date: Sat, 30 Sep 2017 16:58:53 +0200 Subject: [PATCH 1/4] - Added: Example test for Run --- concurrent/doc_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 concurrent/doc_test.go diff --git a/concurrent/doc_test.go b/concurrent/doc_test.go new file mode 100644 index 0000000..52f8531 --- /dev/null +++ b/concurrent/doc_test.go @@ -0,0 +1,32 @@ +package concurrent_test + +import ( + "fmt" + "github.com/donutloop/toolkit/concurrent" + "sync/atomic" +) + +// Run concurrently your func() error +func ExampleRun() { + + counter := int32(0) + errs := concurrent.Run( + func() error { + atomic.AddInt32(&counter, 40) + return nil + }, + func() error { + atomic.AddInt32(&counter, 2) + return nil + }, + ) + + if len(errs) > 0 { + for _, err := range errs { + fmt.Println(fmt.Sprintf("error: %v", err)) + } + } + + fmt.Println(counter) + // Output: 42 +} From caaf8d370676ae06baf1133bb0298eb6d8faa8d2 Mon Sep 17 00:00:00 2001 From: Marcel Edmund Franke Date: Sat, 30 Sep 2017 17:13:19 +0200 Subject: [PATCH 2/4] - Added: Example test for simple hook --- event/doc_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 event/doc_test.go diff --git a/event/doc_test.go b/event/doc_test.go new file mode 100644 index 0000000..2ae9416 --- /dev/null +++ b/event/doc_test.go @@ -0,0 +1,21 @@ +package event_test + +import ( + "fmt" + "github.com/donutloop/toolkit/event" +) + +func ExampleHooks() { + + hooks := new(event.Hooks) + hooks.Add(func() { fmt.Println("kernel request") }) + + errs := hooks.Fire() + if len(errs) > 0 { + for _, err := range errs { + fmt.Println(fmt.Sprintf("error: %v", err)) + } + } + + // Output: kernel request +} From a7c80bbfbbd2194c360b97696504f108f0fbf861 Mon Sep 17 00:00:00 2001 From: Marcel Edmund Franke Date: Sat, 30 Sep 2017 17:26:05 +0200 Subject: [PATCH 3/4] - Added: example test for looper --- loop/doc_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 loop/doc_test.go diff --git a/loop/doc_test.go b/loop/doc_test.go new file mode 100644 index 0000000..aff508c --- /dev/null +++ b/loop/doc_test.go @@ -0,0 +1,20 @@ +package loop_test + +import ( + "github.com/donutloop/toolkit/loop" + "time" + "fmt" +) + +func ExampleLoop() { + + loop.NewLooper(1*time.Second, func() error { + // do after one second things + return nil + }) + + // error and stop handling is missing for simplicity + + fmt.Println("successfully") + // Output: successfully +} From ae6ce38e104356bc4c63041319b81d925c9cdef1 Mon Sep 17 00:00:00 2001 From: Marcel Edmund Franke Date: Sat, 30 Sep 2017 17:33:08 +0200 Subject: [PATCH 4/4] - Added: Example test for simple promise --- loop/doc_test.go | 2 +- promise/doc_test.go | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 promise/doc_test.go diff --git a/loop/doc_test.go b/loop/doc_test.go index aff508c..e708daf 100644 --- a/loop/doc_test.go +++ b/loop/doc_test.go @@ -1,9 +1,9 @@ package loop_test import ( + "fmt" "github.com/donutloop/toolkit/loop" "time" - "fmt" ) func ExampleLoop() { diff --git a/promise/doc_test.go b/promise/doc_test.go new file mode 100644 index 0000000..a65af83 --- /dev/null +++ b/promise/doc_test.go @@ -0,0 +1,23 @@ +package promise_test + +import ( + "context" + "fmt" + "github.com/donutloop/toolkit/promise" +) + +func ExamplePromise() { + + done, errc := promise.Do(context.Background(), func(ctx context.Context) error { + fmt.Println("do things") + return nil + }) + + select { + case <-done: + case err := <-errc: + fmt.Println(fmt.Sprintf("error: %v", err)) + } + + // Output: do things +}