vinchent
ef646bf98e
clockface: refactor magic numbers
2024-09-23 22:40:35 +02:00
vinchent
6837cd9fc1
clockface: add hours
2024-09-23 22:35:02 +02:00
vinchent
c6ef156d88
clockface: refactor
2024-09-23 22:18:46 +02:00
vinchent
a4531bde4c
clockface: add minute hand tests
2024-09-23 22:16:06 +02:00
vinchent
5a62fef4f3
clockface: add minute hand
2024-09-23 22:09:10 +02:00
vinchent
b58e2436cd
clockface: refactorize acceptance test
2024-09-23 18:01:35 +02:00
vinchent
7b3fb0f91c
clockface: xml
2024-09-23 17:24:40 +02:00
vinchent
423c9e9567
clockface: add main func
2024-09-23 16:57:24 +02:00
vinchent
c9c9b9bf7b
clockface: part1
2024-09-23 16:49:29 +02:00
vinchent
8629b537b0
roman: check number range
2024-09-22 22:00:50 +02:00
vinchent
abc546178d
roman: fix the number range
2024-09-22 21:51:40 +02:00
vinchent
650ec27ec9
roman: add property based test with quick.check
2024-09-22 21:47:11 +02:00
vinchent
52825e49b3
***roman: add convert to arabic, the real one
2024-09-22 21:36:03 +02:00
vinchent
715ea6477a
roman: add convert to arabic
2024-09-22 21:28:24 +02:00
vinchent
6da23dc641
roman: add more roman letters and test
2024-09-22 21:24:24 +02:00
vinchent
7d751cab3d
***roman: refactor in the OOP way
2024-09-22 21:12:56 +02:00
vinchent
b37f8a8d4c
roman: add more tests
2024-09-22 21:09:51 +02:00
vinchent
6f853c25d0
roman: add 9 and 10
2024-09-22 21:07:05 +02:00
vinchent
0a75d86850
roman: add 5 and refactor
2024-09-22 21:02:27 +02:00
vinchent
2515644d4f
roman: refactor to use string building pattern
2024-09-22 20:59:11 +02:00
vinchent
3a0808c599
roman: add 4
2024-09-22 20:57:12 +02:00
vinchent
accb2c51dc
roman: use stringBuild for better performance(?)
2024-09-22 20:54:22 +02:00
vinchent
5f93a0b843
roman: get start with the roman numerals
2024-09-22 20:53:13 +02:00
vinchent
7a32f26bd5
context: implement a spy response writer to check if anything is written
2024-09-21 20:46:07 +02:00
vinchent
c5582275e7
context: realistic usage of context.
...
Use a go routine for the work logic. Here sleep and append to string.
Inside the go routine, select for ctx.Done(). If happens, just stop and
return.
In the outside function, select for ctx.Done() too. If it happens, that
means the work logic has not finished before canceled.
2024-09-21 20:35:43 +02:00
vinchent
c0db9ab22b
context: refactorize assert functions
2024-09-21 20:26:22 +02:00
vinchent
0b181ccf0f
context: setup timeout context
2024-09-21 20:20:15 +02:00
vinchent
d49f952035
context: add basic context test
2024-09-21 20:07:09 +02:00
vinchent
436bcad0e1
counter: Use a constructor
2024-09-21 19:48:58 +02:00
vinchent
6ded953ec6
counter: fix mutex copy issue
2024-09-21 19:47:27 +02:00
vinchent
572c8033f6
counter: handle racing situation with mutex
2024-09-21 19:43:09 +02:00
vinchent
ea6f225992
counter: refactor, add assertCounter func
2024-09-21 18:21:56 +02:00
vinchent
41ae820a21
counter: add baisics
2024-09-21 17:51:58 +02:00
vinchent
b332088638
walk: reflect value of struct
2024-09-18 18:15:01 +02:00
vinchent
3556c5b805
racer: test with timeout
2024-09-18 13:41:55 +02:00
vinchent
ee89092ea4
racer: refactor. no hard code, don't repeat
2024-09-18 13:11:42 +02:00
vinchent
3cc29f8383
racer: add timeout test
2024-09-18 13:08:31 +02:00
vinchent
2dc7275f15
racer: use select to syncrho
2024-09-18 12:58:07 +02:00
vinchent
5042f1048e
racer: refactor code to not repeat
2024-09-18 12:54:47 +02:00
vinchent
3538818769
racer: test with httptest server
2024-09-18 12:45:58 +02:00
vinchent
491d2c1b22
racer: add a first racer test
2024-09-18 10:15:53 +02:00
vinchent
d83f1c6f4c
concurrency: use channel to handle racing situation
2024-09-18 09:48:00 +02:00
vinchent
cd4f6fc6c7
concurrency: add timeout, pass the url as argument into goroutine, but still have concurrent write issue
2024-09-18 09:33:38 +02:00
vinchent
cb8e6d23f3
concurrency: use goroutine(too fast)
2024-09-18 09:26:39 +02:00
vinchent
93d9a14858
concurrency: add func, test, and bm test (mock and stub)
2024-09-18 09:16:56 +02:00
vinchent
05226985c7
***countdown: add configurableSleeper abstraction
2024-09-17 21:43:48 +02:00
vinchent
72e6ac9b77
[***]countdown: mock with sequence
2024-09-17 21:30:53 +02:00
vinchent
56be76b275
countdown: add first mock for sleep
2024-09-17 21:21:07 +02:00
vinchent
d7840e9cb7
countdown: add basic countdown
2024-09-17 21:11:08 +02:00
vinchent
5f02a8fbde
greet: DI
2024-09-17 16:12:39 +02:00
vinchent
f573268be9
dict: add delete method
2024-09-17 11:35:22 +02:00
vinchent
c04a2e1d65
dict: add update method
2024-09-17 11:31:00 +02:00
vinchent
4be80f4477
dict: deal with re-add
2024-09-17 10:19:25 +02:00
vinchent
58efd33b20
dict: add Add function and tests
2024-09-17 10:10:07 +02:00
vinchent
7e713f54de
dict: refacto test for error handling
2024-09-17 09:58:41 +02:00
vinchent
fc67cf14ff
dict: deal with unknown keys
2024-09-17 09:55:36 +02:00
vinchent
baff9ee722
dict: create a type
2024-09-11 15:22:42 +02:00
vinchent
dd61fb557b
dict: refact test
2024-09-11 14:07:00 +02:00
vinchent
73ab7dc92d
dict: add simple search method
2024-09-11 13:48:59 +02:00
vinchent
4a497b9f93
wallet: add example
2024-09-11 11:49:10 +02:00
vinchent
82ea599aaa
wallet: also assert no error
2024-09-11 11:43:34 +02:00
vinchent
20606d3ee5
wallet: improve assertError again by creating a custom error type
2024-09-11 11:35:52 +02:00
vinchent
9a2478f947
wallet: improve assertError function
2024-09-11 11:32:40 +02:00
vinchent
4be1d0d598
wallet: extract assertError helper function
2024-09-11 11:28:45 +02:00
vinchent
f6b17eaff3
wallet: check withdraw border cases
2024-09-11 11:26:39 +02:00
vinchent
8ed0235074
wallet: add withdraw method
2024-09-11 11:22:12 +02:00
vinchent
36ef78fb92
wallet: implement stringer interface
2024-09-11 11:17:23 +02:00
vinchent
71bc024fe2
wallet: use self defined type Bitcoin
2024-09-11 11:15:24 +02:00
vinchent
8644bf547b
wallet: add wallet struct and balance funcs
2024-09-11 11:08:53 +02:00
vinchent
f5ecd40f01
shapes: make table test more readable
2024-09-11 09:23:19 +02:00
vinchent
47a831ab33
shapes: add Triangle area test
2024-09-11 09:17:21 +02:00
vinchent
595ed65745
shapes: transform to a table test
2024-09-11 09:14:28 +02:00
vinchent
d708e70352
shapes: add Shape interface
2024-09-11 09:10:19 +02:00
vinchent
ff89c50710
shapes: add Circle struct and Area func
2024-09-11 09:06:46 +02:00
vinchent
d5d910db5a
shapes: use Rectangle as receiver
2024-09-11 09:03:57 +02:00
vinchent
5de98f3ac8
shapes: create a rectangle struct
2024-09-11 08:58:04 +02:00
vinchent
9381e4c92a
shapes: add rectangle perimeter and area funcs
2024-09-11 08:55:19 +02:00
vinchent
2353543f7d
sum: add local test check function
2024-09-10 21:56:18 +02:00
vinchent
42aaff6c2e
sum: add SumAllTails
2024-09-10 21:51:21 +02:00
vinchent
4bfd9eda4f
sum: use slices.Equal
2024-09-10 21:43:55 +02:00
vinchent
fac93ea9ec
sum: use DeepEqual to compare
2024-09-10 21:43:19 +02:00
vinchent
29215486db
sum: use variadic functions
2024-09-10 21:38:18 +02:00
vinchent
e905c600f3
sum: sumAll
2024-09-10 21:34:27 +02:00
vinchent
fc419ec3be
sum: slice
2024-09-10 21:27:13 +02:00
vinchent
b427b8fbfb
sum: range
2024-09-10 21:16:01 +02:00
vinchent
5775ea5e50
sum: v1
2024-09-10 21:15:12 +02:00
vinchent
fb1e5e2835
iteration: Use strings pkg and compare the bench results
2024-09-10 13:39:14 +02:00
vinchent
75304d4c23
iteration: add repeatTime as an argument
2024-09-10 13:32:46 +02:00
vinchent
2684521bdd
iteration: add example for Repeat function
2024-09-10 13:30:09 +02:00
vinchent
de5d9f39b6
iteration: add benchmark test
2024-09-10 13:23:32 +02:00
vinchent
917ce1638f
iteration: add simple iteration function
2024-09-10 13:20:33 +02:00
vinchent
ad9df93776
integers: add doc for Add function
2024-09-10 13:10:08 +02:00
vinchent
bdef054bb6
integers: add testable examples
2024-09-10 13:09:20 +02:00
vinchent
effff8ae16
integers: add adder
2024-09-10 13:04:47 +02:00
vinchent
25ed3404d8
add README
2024-09-10 11:50:36 +02:00
vinchent
268677b9ad
reorgniaze the repo
2024-09-10 11:50:18 +02:00
vinchent
b50e202a97
Hello: multi language v2
2024-09-10 11:44:21 +02:00
vinchent
576e29f1ba
Hello: multiple languages
2024-09-10 11:35:30 +02:00
vinchent
f593fb28de
hello_test: create an assert function
2024-09-10 11:20:52 +02:00
vinchent
5e32007c89
Hello: use const for magic strings
2024-09-10 11:16:15 +02:00