assert

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

README

assert Godoc Reference

Package assert is a Basic Assertion library used along side native go testing

Usage

package maint

import (
	"errors"
	"testing"
	. "github.com/pchchv/assert"
)

func AssertCustomErrorHandler(t testing.TB, errs map[string]string, key, expected string) {
	val, ok := errs[key]

	// using EqualSkip and NotEqualSkip as building blocks for my custom Assert function
	EqualSkip(t, 2, ok, true)
	NotEqualSkip(t, 2, val, nil)
	EqualSkip(t, 2, val, expected)
}

func TestEqual(t *testing.T) {
	// error comes from your package/library
	err := errors.New("my error")
	NotEqual(t, err, nil)
	Equal(t, err.Error(), "my error")

	err = nil
	Equal(t, err, nil)

	fn := func() {
		panic("omg omg omg!")
	}

	PanicMatches(t, func() { fn() }, "omg omg omg!")
	PanicMatches(t, func() { panic("omg omg omg!") }, "omg omg omg!")

	// errs would have come from your package/library
	errs := map[string]string{}
	errs["Name"] = "User Name Invalid"
	errs["Email"] = "User Email Invalid"

	AssertCustomErrorHandler(t, errs, "Name", "User Name Invalid")
	AssertCustomErrorHandler(t, errs, "Email", "User Email Invalid")
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Equal

func Equal(t testing.TB, val1, val2 interface{})

Equal validates that val1 is equal to val2 and throws an error with line number.

func EqualSkip

func EqualSkip(t testing.TB, skip int, val1, val2 interface{})

EqualSkip validates that val1 is equal to val2 and throws an error with line number but the skip variable tells EqualSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func IsEqual

func IsEqual(val1, val2 interface{}) bool

IsEqual returns whether val1 is equal to val2 taking into account Pointers, Interfaces and their underlying types.

func MatchRegex

func MatchRegex(t *testing.T, value string, regex interface{})

MatchRegex validates that value matches the regex, either string or *regex and throws an error with line number.

func MatchRegexSkip

func MatchRegexSkip(t *testing.T, skip int, value string, regex interface{})

MatchRegexSkip validates that value matches the regex, either string or *regex and throws an error with line number but the skip variable tells MatchRegexSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func NotEqual

func NotEqual(t testing.TB, val1, val2 interface{})

NotEqual validates that val1 is not equal val2 and throws an error with line number.

func NotEqualSkip

func NotEqualSkip(t testing.TB, skip int, val1, val2 interface{})

NotEqualSkip validates that val1 is not equal to val2 and throws an error with line number but the skip variable tells NotEqualSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func NotMatchRegex

func NotMatchRegex(t *testing.T, value string, regex interface{})

NotMatchRegex validates that value matches the regex, either string or *regex and throws an error with line number.

func NotMatchRegexSkip

func NotMatchRegexSkip(t *testing.T, skip int, value string, regex interface{})

NotMatchRegexSkip validates that value matches the regex, either string or *regex and throws an error with line number but the skip variable tells NotMatchRegexSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

func PanicMatches

func PanicMatches(t testing.TB, fn func(), matches string)

PanicMatches validates that the panic output of running fn matches the supplied string.

func PanicMatchesSkip

func PanicMatchesSkip(t testing.TB, skip int, fn func(), matches string)

PanicMatchesSkip validates that the panic output of running fn matches the supplied string but the skip variable tells PanicMatchesSkip how far back on the stack to report the error. This is a building block to creating your own more complex validation functions.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL