Repository: MarvinJWendt/testza
Pull request #172 (2022-08-25 21:26:52)

Fixed customizing settings via init function


Patch:
diff --git a/README.md b/README.md
index 61a9e3f..0aeae93 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@
 </a>
 
 <a href="https://codecov.io/gh/MarvinJWendt/testza">
-<!-- unittestcount:start --><img src="https://img.shields.io/badge/Unit_Tests-2991-magenta?style=flat-square" alt="Unit test count"><!-- unittestcount:end -->
+<!-- unittestcount:start --><img src="https://img.shields.io/badge/Unit_Tests-3003-magenta?style=flat-square" alt="Unit test count"><!-- unittestcount:end -->
 </a>
   
 <a href="https://pkg.go.dev/github.com/MarvinJWendt/testza" target="_blank">
diff --git a/assert.go b/assert.go
index dbcb0d4..b1bd3ea 100644
--- a/assert.go
+++ b/assert.go
@@ -57,11 +57,12 @@ func (m *testMock) Fatalf(format string, args ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertKindOf(t, reflect.Slice, []int{1,2,3})
-//  testza.AssertKindOf(t, reflect.Slice, []string{"Hello", "World"})
-//  testza.AssertKindOf(t, reflect.Int, 1337)
-//  testza.AssertKindOf(t, reflect.Bool, true)
-//  testza.AssertKindOf(t, reflect.Map, map[string]bool{})
+//
+//	testza.AssertKindOf(t, reflect.Slice, []int{1,2,3})
+//	testza.AssertKindOf(t, reflect.Slice, []string{"Hello", "World"})
+//	testza.AssertKindOf(t, reflect.Int, 1337)
+//	testza.AssertKindOf(t, reflect.Bool, true)
+//	testza.AssertKindOf(t, reflect.Map, map[string]bool{})
 func AssertKindOf(t testRunner, expectedKind reflect.Kind, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -81,11 +82,12 @@ func AssertKindOf(t testRunner, expectedKind reflect.Kind, object any, msg ...an
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotKindOf(t, reflect.Slice, "Hello, World")
-//  testza.AssertNotKindOf(t, reflect.Slice, true)
-//  testza.AssertNotKindOf(t, reflect.Int, 13.37)
-//  testza.AssertNotKindOf(t, reflect.Bool, map[string]bool{})
-//  testza.AssertNotKindOf(t, reflect.Map, false)
+//
+//	testza.AssertNotKindOf(t, reflect.Slice, "Hello, World")
+//	testza.AssertNotKindOf(t, reflect.Slice, true)
+//	testza.AssertNotKindOf(t, reflect.Int, 13.37)
+//	testza.AssertNotKindOf(t, reflect.Bool, map[string]bool{})
+//	testza.AssertNotKindOf(t, reflect.Map, false)
 func AssertNotKindOf(t testRunner, kind reflect.Kind, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -110,9 +112,10 @@ func AssertNotKindOf(t testRunner, kind reflect.Kind, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNumeric(t, 123)
-//  testza.AssertNumeric(t, 1.23)
-//  testza.AssertNumeric(t, uint(123))
+//
+//	testza.AssertNumeric(t, 123)
+//	testza.AssertNumeric(t, 1.23)
+//	testza.AssertNumeric(t, uint(123))
 func AssertNumeric(t testRunner, object any, msg ...any) {
 	if !internal.IsNumber(object) {
 		internal.Fail(t, "An object that !!should be a number!! is not of a numeric type.", internal.NewObjectsSingleUnknown(object), msg...)
@@ -126,8 +129,9 @@ func AssertNumeric(t testRunner, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotNumeric(t, true)
-//  testza.AssertNotNumeric(t, "123")
+//
+//	testza.AssertNotNumeric(t, true)
+//	testza.AssertNotNumeric(t, "123")
 func AssertNotNumeric(t testRunner, object any, msg ...any) {
 	if internal.IsNumber(object) {
 		internal.Fail(t, "An object that !!should not be a number!! is of a numeric type.", internal.NewObjectsSingleUnknown(object), msg...)
@@ -139,9 +143,10 @@ func AssertNotNumeric(t testRunner, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertZero(t, 0)
-//  testza.AssertZero(t, false)
-//  testza.AssertZero(t, "")
+//
+//	testza.AssertZero(t, 0)
+//	testza.AssertZero(t, false)
+//	testza.AssertZero(t, "")
 func AssertZero(t testRunner, value any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -157,9 +162,10 @@ func AssertZero(t testRunner, value any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotZero(t, 1337)
-//  testza.AssertNotZero(t, true)
-//  testza.AssertNotZero(t, "Hello, World")
+//
+//	testza.AssertNotZero(t, 1337)
+//	testza.AssertNotZero(t, true)
+//	testza.AssertNotZero(t, "Hello, World")
 func AssertNotZero(t testRunner, value any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -175,8 +181,9 @@ func AssertNotZero(t testRunner, value any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertEqual(t, "Hello, World!", "Hello, World!")
-//  testza.AssertEqual(t, true, true)
+//
+//	testza.AssertEqual(t, "Hello, World!", "Hello, World!")
+//	testza.AssertEqual(t, true, true)
 func AssertEqual(t testRunner, expected any, actual any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -192,8 +199,9 @@ func AssertEqual(t testRunner, expected any, actual any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotEqual(t, true, false)
-//  testza.AssertNotEqual(t, "Hello", "World")
+//
+//	testza.AssertNotEqual(t, true, false)
+//	testza.AssertNotEqual(t, "Hello", "World")
 func AssertNotEqual(t testRunner, expected any, actual any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -217,24 +225,26 @@ func AssertNotEqual(t testRunner, expected any, actual any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertEqualValues(t, []string{"Hello", "World"}, []string{"Hello", "World"})
-//  testza.AssertEqualValues(t, []int{1,2}, []int{1,2})
-//  testza.AssertEqualValues(t, []int{1,2}, []int{2,1}) // FAILS (wrong order)
+//
+//	testza.AssertEqualValues(t, []string{"Hello", "World"}, []string{"Hello", "World"})
+//	testza.AssertEqualValues(t, []int{1,2}, []int{1,2})
+//	testza.AssertEqualValues(t, []int{1,2}, []int{2,1}) // FAILS (wrong order)
 //
 // Comparing struct values:
-//  person1 := Person{
-//    Name:   "Marvin Wendt",
-//    Age:    20,
-//    Gender: "male",
-//  }
-//
-//  person2 := Person{
-//    Name:   "Marvin Wendt",
-//    Age:    20,
-//    Gender: "male",
-//  }
-//
-//  testza.AssertEqualValues(t, person1, person2)
+//
+//	person1 := Person{
+//	  Name:   "Marvin Wendt",
+//	  Age:    20,
+//	  Gender: "male",
+//	}
+//
+//	person2 := Person{
+//	  Name:   "Marvin Wendt",
+//	  Age:    20,
+//	  Gender: "male",
+//	}
+//
+//	testza.AssertEqualValues(t, person1, person2)
 func AssertEqualValues(t testRunner, expected any, actual any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -250,22 +260,24 @@ func AssertEqualValues(t testRunner, expected any, actual any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotEqualValues(t, []int{1,2}, []int{3,4})
+//
+//	testza.AssertNotEqualValues(t, []int{1,2}, []int{3,4})
 //
 // Comparing struct values:
-//  person1 := Person{
-//    Name:   "Marvin Wendt",
-//    Age:    20,
-//    Gender: "male",
-//  }
-//
-//  person2 := Person{
-//    Name:   "Marvin Wendt",
-//    Age:    20,
-//    Gender: "female", // <-- CHANGED
-//  }
-//
-//  testza.AssertNotEqualValues(t, person1, person2)
+//
+//	person1 := Person{
+//	  Name:   "Marvin Wendt",
+//	  Age:    20,
+//	  Gender: "male",
+//	}
+//
+//	person2 := Person{
+//	  Name:   "Marvin Wendt",
+//	  Age:    20,
+//	  Gender: "female", // <-- CHANGED
+//	}
+//
+//	testza.AssertNotEqualValues(t, person1, person2)
 func AssertNotEqualValues(t testRunner, expected any, actual any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -281,10 +293,11 @@ func AssertNotEqualValues(t testRunner, expected any, actual any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertTrue(t, true)
-//  testza.AssertTrue(t, 1 == 1)
-//  testza.AssertTrue(t, 2 != 3)
-//  testza.AssertTrue(t, 1 > 0 && 4 < 5)
+//
+//	testza.AssertTrue(t, true)
+//	testza.AssertTrue(t, 1 == 1)
+//	testza.AssertTrue(t, 2 != 3)
+//	testza.AssertTrue(t, 1 > 0 && 4 < 5)
 func AssertTrue(t testRunner, value any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -300,10 +313,11 @@ func AssertTrue(t testRunner, value any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertFalse(t, false)
-//  testza.AssertFalse(t, 1 == 2)
-//  testza.AssertFalse(t, 2 != 2)
-//  testza.AssertFalse(t, 1 > 5 && 4 < 0)
+//
+//	testza.AssertFalse(t, false)
+//	testza.AssertFalse(t, 1 == 2)
+//	testza.AssertFalse(t, 2 != 2)
+//	testza.AssertFalse(t, 1 > 5 && 4 < 0)
 func AssertFalse(t testRunner, value any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -319,8 +333,9 @@ func AssertFalse(t testRunner, value any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertImplements(t, (*YourInterface)(nil), new(YourObject))
-//  testza.AssertImplements(t, (*fmt.Stringer)(nil), new(types.Const)) => pass
+//
+//	testza.AssertImplements(t, (*YourInterface)(nil), new(YourObject))
+//	testza.AssertImplements(t, (*fmt.Stringer)(nil), new(types.Const)) => pass
 func AssertImplements(t testRunner, interfaceObject, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -336,8 +351,9 @@ func AssertImplements(t testRunner, interfaceObject, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotImplements(t, (*YourInterface)(nil), new(YourObject))
-//  testza.AssertNotImplements(t, (*fmt.Stringer)(nil), new(types.Const)) => fail, because types.Const does implement fmt.Stringer.
+//
+//	testza.AssertNotImplements(t, (*YourInterface)(nil), new(YourObject))
+//	testza.AssertNotImplements(t, (*fmt.Stringer)(nil), new(types.Const)) => fail, because types.Const does implement fmt.Stringer.
 func AssertNotImplements(t testRunner, interfaceObject, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -353,9 +369,10 @@ func AssertNotImplements(t testRunner, interfaceObject, object any, msg ...any)
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertContains(t, []int{1,2,3}, 2)
-//  testza.AssertContains(t, []string{"Hello", "World"}, "World")
-//  testza.AssertContains(t, "Hello, World!", "World")
+//
+//	testza.AssertContains(t, []int{1,2,3}, 2)
+//	testza.AssertContains(t, []string{"Hello", "World"}, "World")
+//	testza.AssertContains(t, "Hello, World!", "World")
 func AssertContains(t testRunner, object, element any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -374,8 +391,9 @@ func AssertContains(t testRunner, object, element any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotContains(t, []string{"Hello", "World"}, "Spaceship")
-//  testza.AssertNotContains(t, "Hello, World!", "Spaceship")
+//
+//	testza.AssertNotContains(t, []string{"Hello", "World"}, "Spaceship")
+//	testza.AssertNotContains(t, "Hello, World!", "Spaceship")
 func AssertNotContains(t testRunner, object, element any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -394,10 +412,11 @@ func AssertNotContains(t testRunner, object, element any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertPanics(t, func() {
-//  	// ...
-//  	panic("some panic")
-//  }) // => PASS
+//
+//	testza.AssertPanics(t, func() {
+//		// ...
+//		panic("some panic")
+//	}) // => PASS
 func AssertPanics(t testRunner, f func(), msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -417,9 +436,10 @@ func AssertPanics(t testRunner, f func(), msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotPanics(t, func() {
-//  	// some code that does not call a panic...
-//  }) // => PASS
+//
+//	testza.AssertNotPanics(t, func() {
+//		// some code that does not call a panic...
+//	}) // => PASS
 func AssertNotPanics(t testRunner, f func(), msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -439,7 +459,8 @@ func AssertNotPanics(t testRunner, f func(), msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNil(t, nil)
+//
+//	testza.AssertNil(t, nil)
 func AssertNil(t testRunner, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -455,9 +476,10 @@ func AssertNil(t testRunner, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotNil(t, true)
-//  testza.AssertNotNil(t, "Hello, World!")
-//  testza.AssertNotNil(t, 0)
+//
+//	testza.AssertNotNil(t, true)
+//	testza.AssertNotNil(t, "Hello, World!")
+//	testza.AssertNotNil(t, 0)
 func AssertNotNil(t testRunner, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -477,9 +499,10 @@ func AssertNotNil(t testRunner, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertCompletesIn(t, 2 * time.Second, func() {
-//  	// some code that should take less than 2 seconds...
-//  }) // => PASS
+//
+//	testza.AssertCompletesIn(t, 2 * time.Second, func() {
+//		// some code that should take less than 2 seconds...
+//	}) // => PASS
 func AssertCompletesIn(t testRunner, duration time.Duration, f func(), msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -500,10 +523,11 @@ func AssertCompletesIn(t testRunner, duration time.Duration, f func(), msg ...an
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotCompletesIn(t, 2 * time.Second, func() {
-//  	// some code that should take more than 2 seconds...
-//  	time.Sleep(3 * time.Second)
-//  }) // => PASS
+//
+//	testza.AssertNotCompletesIn(t, 2 * time.Second, func() {
+//		// some code that should take more than 2 seconds...
+//		time.Sleep(3 * time.Second)
+//	}) // => PASS
 func AssertNotCompletesIn(t testRunner, duration time.Duration, f func(), msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -519,8 +543,9 @@ func AssertNotCompletesIn(t testRunner, duration time.Duration, f func(), msg ..
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  err := nil
-//  testza.AssertNoError(t, err)
+//
+//	err := nil
+//	testza.AssertNoError(t, err)
 func AssertNoError(t testRunner, err error, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -549,8 +574,9 @@ func AssertNoError(t testRunner, err error, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertGreater(t, 5, 1)
-//  testza.AssertGreater(t, 10, -10)
+//
+//	testza.AssertGreater(t, 5, 1)
+//	testza.AssertGreater(t, 10, -10)
 func AssertGreater(t testRunner, object1, object2 any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -573,8 +599,10 @@ func AssertGreater(t testRunner, object1, object2 any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertGreaterOrEqual(t, 5, 1)
-//  testza.AssertGreaterOrEqual(t, 10, -10)
+//
+//	testza.AssertGreaterOrEqual(t, 5, 1)
+//	testza.AssertGreaterOrEqual(t, 10, -10)
+//
 // testza.AssertGreaterOrEqual(t, 10, 10)
 func AssertGreaterOrEqual(t testRunner, object1, object2 interface{}, msg ...interface{}) {
 	if test, ok := t.(helper); ok {
@@ -598,8 +626,9 @@ func AssertGreaterOrEqual(t testRunner, object1, object2 interface{}, msg ...int
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertLess(t, 1, 5)
-//  testza.AssertLess(t, -10, 10)
+//
+//	testza.AssertLess(t, 1, 5)
+//	testza.AssertLess(t, -10, 10)
 func AssertLess(t testRunner, object1, object2 any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -625,9 +654,10 @@ func AssertLess(t testRunner, object1, object2 any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertLessOrEqual(t, 1, 5)
-//  testza.AssertLessOrEqual(t, -10, 10)
-//  testza.AssertLessOrEqual(t, 1, 1)
+//
+//	testza.AssertLessOrEqual(t, 1, 5)
+//	testza.AssertLessOrEqual(t, -10, 10)
+//	testza.AssertLessOrEqual(t, 1, 1)
 func AssertLessOrEqual(t testRunner, object1, object2 interface{}, msg ...interface{}) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -654,14 +684,15 @@ func AssertLessOrEqual(t testRunner, object1, object2 interface{}, msg ...interf
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertTestFails(t, func(t testza.TestingPackageWithFailFunctions) {
-//  	testza.AssertTrue(t, false)
-//  }) // => Pass
-//
-//  testza.AssertTestFails(t, func(t testza.TestingPackageWithFailFunctions) {
-//  	// ...
-//  	t.Fail() // Or any other failing method.
-//  }) // => Pass
+//
+//	testza.AssertTestFails(t, func(t testza.TestingPackageWithFailFunctions) {
+//		testza.AssertTrue(t, false)
+//	}) // => Pass
+//
+//	testza.AssertTestFails(t, func(t testza.TestingPackageWithFailFunctions) {
+//		// ...
+//		t.Fail() // Or any other failing method.
+//	}) // => Pass
 func AssertTestFails(t testRunner, test func(t TestingPackageWithFailFunctions), msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -680,9 +711,10 @@ func AssertTestFails(t testRunner, test func(t TestingPackageWithFailFunctions),
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  var testErr = errors.New("hello world")
-//  var testErrWrapped = fmt.Errorf("test err: %w", testErr)
-//  testza.AssertErrorIs(t, testErrWrapped ,testErr)
+//
+//	var testErr = errors.New("hello world")
+//	var testErrWrapped = fmt.Errorf("test err: %w", testErr)
+//	testza.AssertErrorIs(t, testErrWrapped ,testErr)
 func AssertErrorIs(t testRunner, err, target error, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -698,10 +730,11 @@ func AssertErrorIs(t testRunner, err, target error, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  var testErr = errors.New("hello world")
-//  var test2Err = errors.New("hello world 2")
-//  var testErrWrapped = fmt.Errorf("test err: %w", testErr)
-//  testza.AssertNotErrorIs(t, testErrWrapped, test2Err)
+//
+//	var testErr = errors.New("hello world")
+//	var test2Err = errors.New("hello world 2")
+//	var testErrWrapped = fmt.Errorf("test err: %w", testErr)
+//	testza.AssertNotErrorIs(t, testErrWrapped, test2Err)
 func AssertNotErrorIs(t testRunner, err, target error, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -717,10 +750,11 @@ func AssertNotErrorIs(t testRunner, err, target error, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertLen(t, "abc", 3)
-//  testza.AssertLen(t, "Assert", 6)
-//  testza.AssertLen(t, []int{1, 2, 1337, 25}, 4)
-//  testza.AssertLen(t, map[string]int{"asd": 1, "test": 1337}, 2)
+//
+//	testza.AssertLen(t, "abc", 3)
+//	testza.AssertLen(t, "Assert", 6)
+//	testza.AssertLen(t, []int{1, 2, 1337, 25}, 4)
+//	testza.AssertLen(t, map[string]int{"asd": 1, "test": 1337}, 2)
 func AssertLen(t testRunner, object any, length int, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -762,8 +796,9 @@ func AssertLen(t testRunner, object any, length int, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertIncreasing(t, []int{1, 2, 137, 1000})
-//  testza.AssertIncreasing(t, []float32{-10.3, 0.1, 7, 13.5})
+//
+//	testza.AssertIncreasing(t, []int{1, 2, 137, 1000})
+//	testza.AssertIncreasing(t, []float32{-10.3, 0.1, 7, 13.5})
 func AssertIncreasing(t testRunner, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -780,8 +815,9 @@ func AssertIncreasing(t testRunner, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertDecreasing(t, []int{1000, 137, 2, 1})
-//  testza.AssertDecreasing(t, []float32{13.5, 7, 0.1, -10.3})
+//
+//	testza.AssertDecreasing(t, []int{1000, 137, 2, 1})
+//	testza.AssertDecreasing(t, []float32{13.5, 7, 0.1, -10.3})
 func AssertDecreasing(t testRunner, object any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -795,7 +831,8 @@ func AssertDecreasing(t testRunner, object any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertRegexp(t, "^a.*c$", "abc")
+//
+//	testza.AssertRegexp(t, "^a.*c$", "abc")
 func AssertRegexp(t testRunner, regex any, txt any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -809,7 +846,8 @@ func AssertRegexp(t testRunner, regex any, txt any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotRegexp(t, "ab.*", "Hello, World!")
+//
+//	testza.AssertNotRegexp(t, "ab.*", "Hello, World!")
 func AssertNotRegexp(t testRunner, regex any, txt any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -823,8 +861,9 @@ func AssertNotRegexp(t testRunner, regex any, txt any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertFileExists(t, "./test.txt")
-//  testza.AssertFileExists(t, "./config.yaml", "the config file is missing")
+//
+//	testza.AssertFileExists(t, "./test.txt")
+//	testza.AssertFileExists(t, "./config.yaml", "the config file is missing")
 func AssertFileExists(t testRunner, file string, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -854,7 +893,8 @@ func AssertNoFileExists(t testRunner, file string, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertDirExists(t, "FolderName")
+//
+//	testza.AssertDirExists(t, "FolderName")
 func AssertDirExists(t testRunner, dir string, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -874,7 +914,8 @@ func AssertDirExists(t testRunner, dir string, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNoDirExists(t, "FolderName")
+//
+//	testza.AssertNoDirExists(t, "FolderName")
 func AssertNoDirExists(t testRunner, dir string, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -895,7 +936,8 @@ func AssertNoDirExists(t testRunner, dir string, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertDirEmpty(t, "FolderName")
+//
+//	testza.AssertDirEmpty(t, "FolderName")
 func AssertDirEmpty(t testRunner, dir string, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -912,7 +954,8 @@ func AssertDirEmpty(t testRunner, dir string, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertDirNotEmpty(t, "FolderName")
+//
+//	testza.AssertDirNotEmpty(t, "FolderName")
 func AssertDirNotEmpty(t testRunner, dir string, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -929,14 +972,15 @@ func AssertDirNotEmpty(t testRunner, dir string, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertSameElements(t, []string{"Hello", "World"}, []string{"Hello", "World"})
-//  testza.AssertSameElements(t, []int{1,2,3}, []int{1,2,3})
-//  testza.AssertSameElements(t, []int{1,2}, []int{2,1})
-//
-//  type A struct {
-//	  a string
-//  }
-//  testza.AssertSameElements(t, []*A{{a: "A"}, {a: "B"}, {a: "C"}}, []*A{{a: "A"}, {a: "B"}, {a: "C"}})
+//
+//	 testza.AssertSameElements(t, []string{"Hello", "World"}, []string{"Hello", "World"})
+//	 testza.AssertSameElements(t, []int{1,2,3}, []int{1,2,3})
+//	 testza.AssertSameElements(t, []int{1,2}, []int{2,1})
+//
+//	 type A struct {
+//		  a string
+//	 }
+//	 testza.AssertSameElements(t, []*A{{a: "A"}, {a: "B"}, {a: "C"}}, []*A{{a: "A"}, {a: "B"}, {a: "C"}})
 func AssertSameElements(t testRunner, expected any, actual any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -953,13 +997,14 @@ func AssertSameElements(t testRunner, expected any, actual any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotSameElements(t, []string{"Hello", "World"}, []string{"Hello", "World", "World"})
-//  testza.AssertNotSameElements(t, []int{1,2}, []int{1,2,3})
 //
-//  type A struct {
-//	  a string
-//  }
-//  testza.AssertNotSameElements(t, []*A{{a: "A"}, {a: "B"}, {a: "C"}}, []*A{{a: "A"}, {a: "B"}, {a: "C"}, {a: "D"}})
+//	 testza.AssertNotSameElements(t, []string{"Hello", "World"}, []string{"Hello", "World", "World"})
+//	 testza.AssertNotSameElements(t, []int{1,2}, []int{1,2,3})
+//
+//	 type A struct {
+//		  a string
+//	 }
+//	 testza.AssertNotSameElements(t, []*A{{a: "A"}, {a: "B"}, {a: "C"}}, []*A{{a: "A"}, {a: "B"}, {a: "C"}, {a: "D"}})
 func AssertNotSameElements(t testRunner, expected any, actual any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -976,8 +1021,9 @@ func AssertNotSameElements(t testRunner, expected any, actual any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertSubset(t, []int{1, 2, 3}, []int{1, 2})
-//  testza.AssertSubset(t, []string{"Hello", "World", "Test"}, []string{"Test", "World"})
+//
+//	testza.AssertSubset(t, []int{1, 2, 3}, []int{1, 2})
+//	testza.AssertSubset(t, []string{"Hello", "World", "Test"}, []string{"Test", "World"})
 func AssertSubset(t testRunner, list any, subset any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -994,8 +1040,9 @@ func AssertSubset(t testRunner, list any, subset any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNoSubset(t, []int{1, 2, 3}, []int{1, 7})
-//  testza.AssertNoSubset(t, []string{"Hello", "World", "Test"}, []string{"Test", "John"})
+//
+//	testza.AssertNoSubset(t, []int{1, 2, 3}, []int{1, 7})
+//	testza.AssertNoSubset(t, []string{"Hello", "World", "Test"}, []string{"Test", "John"})
 func AssertNoSubset(t testRunner, list any, subset any, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -1012,8 +1059,9 @@ func AssertNoSubset(t testRunner, list any, subset any, msg ...any) {
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertUnique(t, []int{1, 2, 3})
-//  testza.AssertUnique(t, []string{"Hello", "World", "!"})
+//
+//	testza.AssertUnique(t, []int{1, 2, 3})
+//	testza.AssertUnique(t, []string{"Hello", "World", "!"})
 func AssertUnique[elementType comparable](t testRunner, list []elementType, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -1029,7 +1077,8 @@ func AssertUnique[elementType comparable](t testRunner, list []elementType, msg
 // When using a custom message, the same formatting as with fmt.Sprintf() is used.
 //
 // Example:
-//  testza.AssertNotUnique(t, []int{1, 2, 3, 3})
+//
+//	testza.AssertNotUnique(t, []int{1, 2, 3, 3})
 func AssertNotUnique[elementType comparable](t testRunner, list []elementType, msg ...any) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
diff --git a/capture.go b/capture.go
index 6864196..5a1dfa4 100644
--- a/capture.go
+++ b/capture.go
@@ -10,13 +10,14 @@ import (
 // You can use this method in tests, to validate that your functions writes a string to the terminal.
 //
 // Example:
-//  stdout, err := testza.CaptureStdout(func(w io.Writer) error {
-//  	fmt.Println("Hello, World!")
-//  	return nil
-//  })
 //
-//  testza.AssertNoError(t, err)
-//  testza.AssertEqual(t, "Hello, World!", stdout)
+//	stdout, err := testza.CaptureStdout(func(w io.Writer) error {
+//		fmt.Println("Hello, World!")
+//		return nil
+//	})
+//
+//	testza.AssertNoError(t, err)
+//	testza.AssertEqual(t, "Hello, World!", stdout)
 func CaptureStdout(capture func(w io.Writer) error) (string, error) {
 	originalStdout := os.Stdout
 	r, w, err := os.Pipe()
@@ -51,14 +52,15 @@ func CaptureStdout(capture func(w io.Writer) error) (string, error) {
 // You can use this method in tests, to validate that your functions writes a string to the terminal.
 //
 // Example:
-//  stderr, err := testza.CaptureStderr(func(w io.Writer) error {
-//  	_, err := fmt.Fprint(os.Stderr, "Hello, World!")
-//  	testza.AssertNoError(t, err)
-//  	return nil
-//  })
 //
-//  testza.AssertNoError(t, err)
-//  testza.AssertEqual(t, "Hello, World!", stderr)
+//	stderr, err := testza.CaptureStderr(func(w io.Writer) error {
+//		_, err := fmt.Fprint(os.Stderr, "Hello, World!")
+//		testza.AssertNoError(t, err)
+//		return nil
+//	})
+//
+//	testza.AssertNoError(t, err)
+//	testza.AssertEqual(t, "Hello, World!", stderr)
 func CaptureStderr(capture func(w io.Writer) error) (string, error) {
 	originalStderr := os.Stderr
 	r, w, err := os.Pipe()
@@ -93,15 +95,16 @@ func CaptureStderr(capture func(w io.Writer) error) (string, error) {
 // You can use this method in tests, to validate that your functions writes a string to the terminal.
 //
 // Example:
-//  stdout, stderr, err := testza.CaptureStdoutAndStderr(func(stdoutWriter, stderrWriter io.Writer) error {
-//  	fmt.Fprint(os.Stdout, "Hello")
-//  	fmt.Fprint(os.Stderr, "World")
-//  	return nil
-//  })
 //
-//  testza.AssertNoError(t, err)
-//  testza.AssertEqual(t, "Hello", stdout)
-//  testza.AssertEqual(t, "World", stderr)
+//	stdout, stderr, err := testza.CaptureStdoutAndStderr(func(stdoutWriter, stderrWriter io.Writer) error {
+//		fmt.Fprint(os.Stdout, "Hello")
+//		fmt.Fprint(os.Stderr, "World")
+//		return nil
+//	})
+//
+//	testza.AssertNoError(t, err)
+//	testza.AssertEqual(t, "Hello", stdout)
+//	testza.AssertEqual(t, "World", stderr)
 func CaptureStdoutAndStderr(capture func(stdoutWriter, stderrWriter io.Writer) error) (stdout, stderr string, err error) {
 	originalStdout := os.Stdout
 	originalStderr := os.Stderr
diff --git a/configuration.go b/configuration.go
index 52031b7..7ce272e 100644
--- a/configuration.go
+++ b/configuration.go
@@ -2,18 +2,26 @@ package testza
 
 import (
 	"flag"
+	"fmt"
 	"math/rand"
 	"os"
+	"runtime"
 	"strconv"
 	"strings"
+	"time"
 
 	"github.com/MarvinJWendt/testza/internal"
+	"github.com/klauspost/cpuid/v2"
 	"github.com/pterm/pterm"
 )
 
+var randomSeed int64
 var showStartupMessage = true
 
 func init() {
+	initSync.Lock()
+	defer initSync.Unlock()
+
 	// Defining flags to show up in the help message
 	flag.Bool("testza.disable-color", false, "disables colored output")
 	flag.Bool("testza.disable-line-numbers", false, "disables line numbers in output")
@@ -54,6 +62,25 @@ func init() {
 			SetDiffContextLines(v)
 		}
 	}
+
+	go func() {
+		initSync.Lock()
+		defer initSync.Unlock()
+
+		if randomSeed == 0 {
+			randomSeed = time.Now().UnixNano()
+			rand.Seed(randomSeed)
+		}
+
+		if showStartupMessage {
+			var startupMessage string
+			startupMessage += infoPrinter.WithLevel(1).Sprintln("Running tests with " + secondary("Testza"))
+			startupMessage += infoPrinter.Sprintfln(`Using seed "%s" for random operations`, secondary(randomSeed))
+			startupMessage += infoPrinter.Sprintfln(`System info: OS=%s | arch=%s | cpu=%s | go=%s`, secondary(runtime.GOOS), secondary(runtime.GOARCH), secondary(cpuid.CPU.BrandName), secondary(runtime.Version()))
+			startupMessage += fmt.Sprintln()
+			pterm.Println(startupMessage)
+		}
+	}()
 }
 
 // SetColorsEnabled controls if testza should print colored output.
@@ -62,11 +89,15 @@ func init() {
 // > This setting can also be set by the command line flag --testza.disable-color.
 //
 // Example:
-//  init() {
-//    testza.SetColorsEnabled(false) // Disable colored output
-//    testza.SetColorsEnabled(true)  // Enable colored output
-//  }
+//
+//	init() {
+//	  testza.SetColorsEnabled(false) // Disable colored output
+//	  testza.SetColorsEnabled(true)  // Enable colored output
+//	}
 func SetColorsEnabled(enabled bool) {
+	initSync.Lock()
+	defer initSync.Unlock()
+
 	if enabled {
 		pterm.EnableColor()
 	} else {
@@ -80,11 +111,15 @@ func SetColorsEnabled(enabled bool) {
 // > This setting can also be set by the command line flag --testza.disable-line-numbers.
 //
 // Example:
-//  init() {
-//    testza.SetLineNumbersEnabled(false) // Disable line numbers
-//    testza.SetLineNumbersEnabled(true)  // Enable line numbers
-//  }
+//
+//	init() {
+//	  testza.SetLineNumbersEnabled(false) // Disable line numbers
+//	  testza.SetLineNumbersEnabled(true)  // Enable line numbers
+//	}
 func SetLineNumbersEnabled(enabled bool) {
+	initSync.Lock()
+	defer initSync.Unlock()
+
 	internal.LineNumbersEnabled = enabled
 }
 
@@ -96,11 +131,15 @@ func SetLineNumbersEnabled(enabled bool) {
 // > This setting can also be set by the command line flag --testza.seed.
 //
 // Example:
-//  init() {
-//    testza.SetRandomSeed(1337) // Set the seed to 1337
-//    testza.SetRandomSeed(time.Now().UnixNano()) // Set the seed back to the current time (default | non-deterministic)
-//  }
+//
+//	init() {
+//	  testza.SetRandomSeed(1337) // Set the seed to 1337
+//	  testza.SetRandomSeed(time.Now().UnixNano()) // Set the seed back to the current time (default | non-deterministic)
+//	}
 func SetRandomSeed(seed int64) {
+	initSync.Lock()
+	defer initSync.Unlock()
+
 	randomSeed = seed
 	rand.Seed(seed)
 }
@@ -111,11 +150,15 @@ func SetRandomSeed(seed int64) {
 // > This setting can also be set by the command line flag --testza.disable-startup-message.
 //
 // Example:
-//  init() {
-//    testza.SetShowStartupMessage(false) // Disable the startup message
-//    testza.SetShowStartupMessage(true)  // Enable the startup message
-//  }
+//
+//	init() {
+//	  testza.SetShowStartupMessage(false) // Disable the startup message
+//	  testza.SetShowStartupMessage(true)  // Enable the startup message
+//	}
 func SetShowStartupMessage(show bool) {
+	initSync.Lock()
+	defer initSync.Unlock()
+
 	showStartupMessage = show
 }
 
@@ -126,10 +169,14 @@ func SetShowStartupMessage(show bool) {
 // > This setting can also be set by the command line flag --testza.diff-context-lines.
 //
 // Example:
-//  init() {
-//    testza.SetDiffContextLines(-1) // Show all diff lines
-//    testza.SetDiffContextLines(3)  // Show 3 lines around every changed line
-//  }
+//
+//	init() {
+//	  testza.SetDiffContextLines(-1) // Show all diff lines
+//	  testza.SetDiffContextLines(3)  // Show 3 lines around every changed line
+//	}
 func SetDiffContextLines(lines int) {
+	initSync.Lock()
+	defer initSync.Unlock()
+
 	internal.DiffContextLines = lines
 }
diff --git a/fuzz-strings.go b/fuzz-strings.go
index d261ea6..b62f3f6 100644
--- a/fuzz-strings.go
+++ b/fuzz-strings.go
@@ -88,9 +88,9 @@ func FuzzStringEmailAddresses() []string {
 // FuzzStringHtmlTags returns a test set with different html tags.
 //
 // Example:
-//  - <script>
-//  - <script>alert('XSS')</script>
-//  - <a href="https://github.com/MarvinJWendt/testza">link</a>
+//   - <script>
+//   - <script>alert('XSS')</script>
+//   - <a href="https://github.com/MarvinJWendt/testza">link</a>
 func FuzzStringHtmlTags() []string {
 	return []string{
 		"<script>alert('XSS')</script>",
diff --git a/fuzz-utils.go b/fuzz-utils.go
index fb5bcfd..824368f 100644
--- a/fuzz-utils.go
+++ b/fuzz-utils.go
@@ -11,7 +11,8 @@ import (
 // All test sets must have the same type.
 //
 // Example:
-//  mergedSet := testza.FuzzUtilMergeSets(testza.FuzzIntGenerateRandomNegative(3, 0), testza.FuzzIntGenerateRandomPositive(2, 0))
+//
+//	mergedSet := testza.FuzzUtilMergeSets(testza.FuzzIntGenerateRandomNegative(3, 0), testza.FuzzIntGenerateRandomPositive(2, 0))
 func FuzzUtilMergeSets[setType any](sets ...[]setType) (merged []setType) {
 	for _, set := range sets {
 		merged = append(merged, set...)
@@ -25,12 +26,13 @@ func FuzzUtilMergeSets[setType any](sets ...[]setType) (merged []setType) {
 // This ensures that your functions have a correct error handling and enables you to test against hunderts of cases easily.
 //
 // Example:
-//  testza.FuzzUtilRunTests(t, testza.FuzzStringEmailAddresses(), func(t *testing.T, index int, emailAddress string) {
-//  	// Test logic
-//  	// err := YourFunction(emailAddress)
-//  	// testza.AssertNoError(t, err)
-//  	// ...
-//  })
+//
+//	testza.FuzzUtilRunTests(t, testza.FuzzStringEmailAddresses(), func(t *testing.T, index int, emailAddress string) {
+//		// Test logic
+//		// err := YourFunction(emailAddress)
+//		// testza.AssertNoError(t, err)
+//		// ...
+//	})
 func FuzzUtilRunTests[setType any](t testRunner, testSet []setType, testFunc func(t *testing.T, index int, f setType)) {
 	if test, ok := t.(helper); ok {
 		test.Helper()
@@ -54,9 +56,10 @@ func FuzzUtilRunTests[setType any](t testRunner, testSet []setType, testFunc fun
 // FuzzUtilModifySet returns a modified version of a test set.
 //
 // Example:
-//  modifiedSet := testza.FuzzUtilModifySet(testza.FuzzIntFull(), func(i int, value int) int {
-//		return i * 2 // double every value in the test set
-//	})
+//
+//	 modifiedSet := testza.FuzzUtilModifySet(testza.FuzzIntFull(), func(i int, value int) int {
+//			return i * 2 // double every value in the test set
+//		})
 func FuzzUtilModifySet[setType any](inputSet []setType, modifier func(index int, value setType) setType) (floats []setType) {
 	for i, input := range inputSet {
 		floats = append(floats, modifier(i, input))
@@ -68,7 +71,8 @@ func FuzzUtilModifySet[setType any](inputSet []setType, modifier func(index int,
 // FuzzUtilLimitSet limits a test set in size.
 //
 // Example:
-//  limitedSet := testza.FuzzUtilLimitSet(testza.FuzzStringFull(), 10)
+//
+//	limitedSet := testza.FuzzUtilLimitSet(testza.FuzzStringFull(), 10)
 func FuzzUtilLimitSet[setType any](testSet []setType, max int) []setType {
 	if len(testSet) <= max {
 		return testSet
@@ -84,8 +88,9 @@ func FuzzUtilLimitSet[setType any](testSet []setType, max int) []setType {
 // FuzzUtilDistinctSet returns a set with removed duplicates.
 //
 // Example:
-//  uniqueSet := testza.FuzzUtilDistinctSet([]string{"A", "C", "A", "B", "A", "B", "C"})
-//  // uniqueSet => []string{"A", "C", "B"}
+//
+//	uniqueSet := testza.FuzzUtilDistinctSet([]string{"A", "C", "A", "B", "A", "B", "C"})
+//	// uniqueSet => []string{"A", "C", "B"}
 func FuzzUtilDistinctSet[setType comparable](testSet []setType) []setType {
 	seen := map[setType]bool{}
 	var result []setType
diff --git a/snapshot.go b/snapshot.go
index 374cf8e..47c7171 100644
--- a/snapshot.go
+++ b/snapshot.go
@@ -20,7 +20,8 @@ import (
 // NOTICE: \r\n will be replaced with \n to make the files consistent between operating systems.
 //
 // Example:
-//  testza.SnapshotCreate(t.Name(), objectToBeSnapshotted)
+//
+//	testza.SnapshotCreate(t.Name(), objectToBeSnapshotted)
 func SnapshotCreate(name string, snapshotObject any) error {
 	dir := getCurrentScriptDirectory() + "/testdata/snapshots/"
 	return snapshotCreateForDir(dir, name, snapshotObject)
@@ -50,8 +51,9 @@ func snapshotCreateForDir(dir string, name string, snapshotObject any) error {
 // NOTICE: \r\n will be replaced with \n to make the files consistent between operating systems.
 //
 // Example:
-//  testza.SnapshotValidate(t, t.Name(), objectToBeValidated)
-//  testza.SnapshotValidate(t, t.Name(), objectToBeValidated, "Optional message")
+//
+//	testza.SnapshotValidate(t, t.Name(), objectToBeValidated)
+//	testza.SnapshotValidate(t, t.Name(), objectToBeValidated, "Optional message")
 func SnapshotValidate(t testRunner, name string, actual any, msg ...any) error {
 	dir := getCurrentScriptDirectory() + "/testdata/snapshots/"
 	return snapshotValidateFromDir(dir, t, name, actual, msg...)
@@ -121,8 +123,9 @@ func snapshotValidateFromDir(dir string, t testRunner, name string, actual any,
 // NOTICE: \r\n will be replaced with \n to make the files consistent between operating systems.
 //
 // Example:
-//  testza.SnapshotCreateOrValidate(t, t.Name(), object)
-//  testza.SnapshotCreateOrValidate(t, t.Name(), object, "Optional Message")
+//
+//	testza.SnapshotCreateOrValidate(t, t.Name(), object)
+//	testza.SnapshotCreateOrValidate(t, t.Name(), object, "Optional Message")
 func SnapshotCreateOrValidate(t testRunner, name string, object any, msg ...any) error {
 	dir := getCurrentScriptDirectory() + "/testdata/snapshots/"
 	snapshotPath := path.Clean(dir + name + ".testza")


Test patch:
diff --git a/fuzz_test.go b/fuzz_test.go
index 2860db0..1483800 100644
--- a/fuzz_test.go
+++ b/fuzz_test.go
@@ -79,7 +79,7 @@ func TestFuzzUtilDistinctSet(t *testing.T) {
 
 //endregion
 
-//region FuzzString
+// region FuzzString
 func TestFuzzStringGenerateRandom(t *testing.T) {
 	for i := 0; i < 100; i++ {
 		t.Run(fmt.Sprintf("Length=%d", i), func(t *testing.T) {
@@ -160,7 +160,7 @@ func TestFuzzBoolRunTests(t *testing.T) {
 
 //endregion
 
-//region FuzzInt
+// region FuzzInt
 func TestFuzzIntGenerateRandom(t *testing.T) {
 	for i := 0; i < 100; i++ {
 		t.Run("GenerateRandomPositive generates positive numbers only", func(t *testing.T) {
@@ -187,7 +187,7 @@ func TestFuzzIntGenerateRandomRange(t *testing.T) {
 
 //endregion
 
-//region FuzzFloat64
+// region FuzzFloat64
 func TestFuzzFloat64Full(t *testing.T) {
 	AssertGreater(t, len(FuzzFloat64Full()), 0)
 }
diff --git a/testza.go b/testza.go
index 9bf2972..a24c312 100644
--- a/testza.go
+++ b/testza.go
@@ -4,29 +4,12 @@ Package testza is a full-featured testing framework for Go. It integrates with t
 package testza
 
 import (
-	"fmt"
-	"math/rand"
-	"runtime"
-	"time"
+	"sync"
 
-	"github.com/klauspost/cpuid/v2"
 	"github.com/pterm/pterm"
 )
 
-var randomSeed int64
 var infoPrinter = pterm.DefaultSection.WithStyle(pterm.NewStyle(pterm.FgMagenta)).WithLevel(2).WithBottomPadding(0).WithTopPadding(0)
 var secondary = pterm.LightCyan
 
-func init() {
-	if randomSeed == 0 {
-		randomSeed = time.Now().UnixNano()
-		rand.Seed(randomSeed)
-	}
-
-	if showStartupMessage {
-		infoPrinter.WithLevel(1).Println("Running tests with " + secondary("Testza"))
-		infoPrinter.Printfln(`Using seed "%s" for random operations`, secondary(randomSeed))
-		infoPrinter.Printfln(`System info: OS=%s | arch=%s | cpu=%s | go=%s`, secondary(runtime.GOOS), secondary(runtime.GOARCH), secondary(cpuid.CPU.BrandName), secondary(runtime.Version()))
-		fmt.Println()
-	}
-}
+var initSync sync.Mutex