Compare commits
	
		
			6 Commits
		
	
	
		
			v0.0.264
			...
			5f5f0e44f0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5f5f0e44f0 | |||
| 6e6797eac5 | |||
| cd9406900a | |||
| 6c81f7f6bc | |||
| d56a0235af | |||
| de2ca763c1 | 
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -25,7 +25,7 @@ require ( | ||||
| 	github.com/goccy/go-json v0.10.2 // indirect | ||||
| 	github.com/golang/snappy v0.0.4 // indirect | ||||
| 	github.com/json-iterator/go v1.1.12 // indirect | ||||
| 	github.com/klauspost/compress v1.16.7 // indirect | ||||
| 	github.com/klauspost/compress v1.17.0 // indirect | ||||
| 	github.com/klauspost/cpuid/v2 v2.2.5 // indirect | ||||
| 	github.com/leodido/go-urn v1.2.4 // indirect | ||||
| 	github.com/mattn/go-colorable v0.1.13 // indirect | ||||
|   | ||||
							
								
								
									
										2
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.sum
									
									
									
									
									
								
							| @@ -58,6 +58,8 @@ github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQ | ||||
| github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= | ||||
| github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= | ||||
| github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= | ||||
| github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= | ||||
| github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= | ||||
| github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||
| github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= | ||||
| github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| package goext | ||||
|  | ||||
| const GoextVersion = "0.0.264" | ||||
| const GoextVersion = "0.0.267" | ||||
|  | ||||
| const GoextVersionTimestamp = "2023-09-18T11:46:17+0200" | ||||
| const GoextVersionTimestamp = "2023-09-21T14:15:02+0200" | ||||
|   | ||||
| @@ -2,23 +2,41 @@ package tst | ||||
|  | ||||
| import ( | ||||
| 	"encoding/hex" | ||||
| 	"reflect" | ||||
| 	"runtime/debug" | ||||
| 	"testing" | ||||
| ) | ||||
|  | ||||
| func AssertEqual[T comparable](t *testing.T, actual T, expected T) { | ||||
| 	t.Helper() | ||||
| 	if actual != expected { | ||||
| 		t.Errorf("values differ: Actual: '%v', Expected: '%v'", actual, expected) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func AssertNotEqual[T comparable](t *testing.T, actual T, expected T) { | ||||
| 	t.Helper() | ||||
| 	if actual == expected { | ||||
| 		t.Errorf("values do not differ: Actual: '%v', Expected: '%v'", actual, expected) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func AssertDeepEqual[T any](t *testing.T, actual T, expected T) { | ||||
| 	t.Helper() | ||||
| 	if reflect.DeepEqual(actual, expected) { | ||||
| 		t.Errorf("values differ: Actual: '%v', Expected: '%v'", actual, expected) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func AssertNotDeepEqual[T any](t *testing.T, actual T, expected T) { | ||||
| 	t.Helper() | ||||
| 	if !reflect.DeepEqual(actual, expected) { | ||||
| 		t.Errorf("values do not differ: Actual: '%v', Expected: '%v'", actual, expected) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func AssertDeRefEqual[T comparable](t *testing.T, actual *T, expected T) { | ||||
| 	t.Helper() | ||||
| 	if actual == nil { | ||||
| 		t.Errorf("values differ: Actual: NIL, Expected: '%v'", expected) | ||||
| 	} | ||||
| @@ -28,6 +46,7 @@ func AssertDeRefEqual[T comparable](t *testing.T, actual *T, expected T) { | ||||
| } | ||||
|  | ||||
| func AssertPtrEqual[T comparable](t *testing.T, actual *T, expected *T) { | ||||
| 	t.Helper() | ||||
| 	if actual == nil && expected == nil { | ||||
| 		return | ||||
| 	} | ||||
| @@ -47,6 +66,7 @@ func AssertPtrEqual[T comparable](t *testing.T, actual *T, expected *T) { | ||||
| } | ||||
|  | ||||
| func AssertHexEqual(t *testing.T, expected string, actual []byte) { | ||||
| 	t.Helper() | ||||
| 	actualStr := hex.EncodeToString(actual) | ||||
| 	if actualStr != expected { | ||||
| 		t.Errorf("values differ: Actual: '%v', Expected: '%v'", actualStr, expected) | ||||
| @@ -54,18 +74,21 @@ func AssertHexEqual(t *testing.T, expected string, actual []byte) { | ||||
| } | ||||
|  | ||||
| func AssertTrue(t *testing.T, value bool) { | ||||
| 	t.Helper() | ||||
| 	if !value { | ||||
| 		t.Error("value should be true\n" + string(debug.Stack())) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func AssertFalse(t *testing.T, value bool) { | ||||
| 	t.Helper() | ||||
| 	if value { | ||||
| 		t.Error("value should be false\n" + string(debug.Stack())) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func AssertNoErr(t *testing.T, anerr error) { | ||||
| 	t.Helper() | ||||
| 	if anerr != nil { | ||||
| 		t.Error("Function returned an error: " + anerr.Error() + "\n" + string(debug.Stack())) | ||||
| 	} | ||||
|   | ||||
| @@ -116,3 +116,17 @@ func (c *Coll[TData]) Count(ctx context.Context, filter ct.Filter) (int64, error | ||||
|  | ||||
| 	return 0, nil | ||||
| } | ||||
|  | ||||
| func (c *Coll[TData]) ListWithCount(ctx context.Context, filter ct.Filter, pageSize *int, inTok ct.CursorToken) ([]TData, ct.CursorToken, int64, error) { | ||||
| 	// NOTE: Possible optimization: Cache count in CursorToken, then fetch count only on first page. | ||||
| 	count, err := c.Count(ctx, filter) | ||||
| 	if err != nil { | ||||
| 		return nil, ct.CursorToken{}, 0, err | ||||
| 	} | ||||
|  | ||||
| 	data, token, err := c.List(ctx, filter, pageSize, inTok) | ||||
| 	if err != nil { | ||||
| 		return nil, ct.CursorToken{}, 0, err | ||||
| 	} | ||||
| 	return data, token, count, nil | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user