assert.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package assert
  2. import (
  3. "testing"
  4. )
  5. // Nil assert that an object is nil
  6. func Nil(t *testing.T, actual interface{}, message string) {
  7. if message == "" {
  8. message = "Nil assertion failed"
  9. }
  10. if actual != nil {
  11. t.Fatalf("%s - actual: %s", message, actual)
  12. }
  13. }
  14. // NotNil assert that an object is not nil
  15. func NotNil(t *testing.T, actual interface{}, message string) {
  16. if message == "" {
  17. message = "Not nil assertion failed"
  18. }
  19. if actual == nil {
  20. t.Fatalf("%s - actual: nil", message)
  21. }
  22. }
  23. // Equal assert that an object is equal to an expected value
  24. func Equal[K comparable](t *testing.T, expected, actual K, message string) {
  25. if message == "" {
  26. message = "Equal assertion failed"
  27. }
  28. if actual != expected {
  29. t.Fatalf("%s - expected: %v, actual: %v", message, expected, actual)
  30. }
  31. }
  32. // NotEqual assert that an object is not equal to an expected value
  33. func NotEqual[K comparable](t *testing.T, expected, actual K, message string) {
  34. if message == "" {
  35. message = "Not equal assertion failed"
  36. }
  37. if actual == expected {
  38. t.Fatalf("%s - unexpected: %v, actual: %v", message, expected, actual)
  39. }
  40. }
  41. // ContainsStr assert that an array contains an expected value
  42. func Contains[K comparable](t *testing.T, expected K, array []K, message string) {
  43. if message == "" {
  44. message = "Array don't contains expected value"
  45. }
  46. for _, str := range array {
  47. if str == expected {
  48. return
  49. }
  50. }
  51. t.Fatalf("%s - array: %v, expected value: %v", message, array, expected)
  52. }
  53. // True assert that an expression is true
  54. func True(t *testing.T, expression bool, message string) {
  55. if message == "" {
  56. message = "Expression is not true"
  57. }
  58. if !expression {
  59. t.Fatalf("%s : %v", message, expression)
  60. }
  61. }