corevalidator

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: MIT Imports: 17 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultDisabledCoreCondition = Condition{
		IsTrimCompare:        false,
		IsUniqueWordOnly:     false,
		IsNonEmptyWhitespace: false,
		IsSortStringsBySpace: false,
	}

	DefaultTrimCoreCondition = Condition{
		IsTrimCompare: true,
	}

	DefaultSortTrimCoreCondition = Condition{
		IsTrimCompare:        true,
		IsNonEmptyWhitespace: true,
		IsSortStringsBySpace: true,
	}

	DefaultUniqueWordsCoreCondition = Condition{
		IsTrimCompare:        true,
		IsUniqueWordOnly:     true,
		IsNonEmptyWhitespace: true,
		IsSortStringsBySpace: true,
	}

	EmptyValidator = TextValidator{
		Search:    "",
		SearchAs:  stringcompareas.Equal,
		Condition: DefaultTrimCoreCondition,
	}
)

Functions

This section is empty.

Types

type BaseLinesValidators

type BaseLinesValidators struct {
	LinesValidators []LineValidator `json:"LinesValidators,omitempty"`
}

func (*BaseLinesValidators) HasLinesValidators

func (it *BaseLinesValidators) HasLinesValidators() bool

func (*BaseLinesValidators) IsEmptyLinesValidators

func (it *BaseLinesValidators) IsEmptyLinesValidators() bool

func (*BaseLinesValidators) LinesValidatorsLength

func (it *BaseLinesValidators) LinesValidatorsLength() int

func (*BaseLinesValidators) ToLinesValidators

func (it *BaseLinesValidators) ToLinesValidators() *LinesValidators

type BaseValidatorCoreCondition

type BaseValidatorCoreCondition struct {
	ValidatorCoreCondition *Condition `json:"Condition,omitempty"`
}

func (*BaseValidatorCoreCondition) ValidatorCoreConditionDefault

func (it *BaseValidatorCoreCondition) ValidatorCoreConditionDefault() Condition

type Condition added in v1.5.0

type Condition struct {
	IsTrimCompare        bool
	IsUniqueWordOnly     bool
	IsNonEmptyWhitespace bool // Split by whitespace and then compare, don't keep whitespace into comparison
	IsSortStringsBySpace bool
}

func (*Condition) IsSplitByWhitespace added in v1.5.0

func (it *Condition) IsSplitByWhitespace() bool

type HeaderSliceValidator added in v1.5.0

type HeaderSliceValidator struct {
	Header string
	SliceValidator
}

type HeaderSliceValidators added in v1.5.0

type HeaderSliceValidators []HeaderSliceValidator

func (HeaderSliceValidators) AssertVerifyAll added in v1.5.0

func (it HeaderSliceValidators) AssertVerifyAll(
	t *testing.T,
	params *Parameter,
)

func (HeaderSliceValidators) AssertVerifyAllUsingActual added in v1.5.0

func (it HeaderSliceValidators) AssertVerifyAllUsingActual(
	t *testing.T,
	params *Parameter,
	actualLines ...string,
)

func (HeaderSliceValidators) IsEmpty added in v1.5.0

func (it HeaderSliceValidators) IsEmpty() bool

func (HeaderSliceValidators) IsMatch added in v1.5.0

func (it HeaderSliceValidators) IsMatch(
	isCaseSensitive bool,
) bool

func (HeaderSliceValidators) IsValid added in v1.5.0

func (it HeaderSliceValidators) IsValid(
	isCaseSensitive bool,
) bool

func (HeaderSliceValidators) Length added in v1.5.0

func (it HeaderSliceValidators) Length() int

func (HeaderSliceValidators) SetActualOnAll added in v1.5.0

func (it HeaderSliceValidators) SetActualOnAll(actualLines ...string)

func (HeaderSliceValidators) VerifyAll added in v1.5.0

func (it HeaderSliceValidators) VerifyAll(
	header string,
	params *Parameter,
	isPrintError bool,
) error

func (HeaderSliceValidators) VerifyAllError added in v1.5.0

func (it HeaderSliceValidators) VerifyAllError(
	params *Parameter,
) error

func (HeaderSliceValidators) VerifyAllErrorUsingActual added in v1.5.0

func (it HeaderSliceValidators) VerifyAllErrorUsingActual(
	params *Parameter,
	actualLines ...string,
) error

func (HeaderSliceValidators) VerifyFirst added in v1.5.0

func (it HeaderSliceValidators) VerifyFirst(
	params *Parameter,
	isPrintError bool,
) error

VerifyFirst

Only collect using the SliceValidator.VerifyFirstError

func (HeaderSliceValidators) VerifyUpto added in v1.5.0

func (it HeaderSliceValidators) VerifyUpto(
	isPrintErr,
	isFirstOnly bool,
	length int,
	params *Parameter,
) error

type LineNumber

type LineNumber struct {
	LineNumber int `json:"LineNumber,omitempty"` // -1 means no checking in line
}

func (*LineNumber) HasLineNumber

func (it *LineNumber) HasLineNumber() bool

func (*LineNumber) IsMatch

func (it *LineNumber) IsMatch(lineNumber int) bool

func (*LineNumber) VerifyError

func (it *LineNumber) VerifyError(
	lineNumber int,
) error

type LineValidator

type LineValidator struct {
	LineNumber
	TextValidator
}

func (*LineValidator) AllVerifyError

func (it *LineValidator) AllVerifyError(
	params *Parameter,
	contentsWithLine ...corestr.TextWithLineNumber,
) error

func (*LineValidator) IsMatch

func (it *LineValidator) IsMatch(
	lineNumber int,
	content string,
	isCaseSensitive bool,
) bool

IsMatch

lineNumber == -1 mean no checking in line number,

having LineValidator.LineNumber = -1 is also means the same

func (*LineValidator) IsMatchMany

func (it *LineValidator) IsMatchMany(
	isSkipOnContentsEmpty,
	isCaseSensitive bool,
	contentsWithLine ...corestr.TextWithLineNumber,
) bool

func (*LineValidator) VerifyError

func (it *LineValidator) VerifyError(
	params *Parameter,
	processingLineNumber int,
	content string,
) error

VerifyError

lineNumber == -1 mean no checking in line number,

having LineValidator.LineNumber = -1 is also means the same

func (*LineValidator) VerifyFirstError

func (it *LineValidator) VerifyFirstError(
	params *Parameter,
	contentsWithLine ...corestr.TextWithLineNumber,
) error

func (*LineValidator) VerifyMany

func (it *LineValidator) VerifyMany(
	isContinueOnError bool,
	params *Parameter,
	contentsWithLine ...corestr.TextWithLineNumber,
) error

type LinesValidators

type LinesValidators struct {
	Items []LineValidator
}

func NewLinesValidators

func NewLinesValidators(capacity int) *LinesValidators

func (*LinesValidators) Add

func (it *LinesValidators) Add(
	validator LineValidator,
) *LinesValidators

func (*LinesValidators) AddPtr

func (it *LinesValidators) AddPtr(
	validator *LineValidator,
) *LinesValidators

func (*LinesValidators) Adds

func (it *LinesValidators) Adds(
	validators ...LineValidator,
) *LinesValidators

func (*LinesValidators) AllVerifyError

func (it *LinesValidators) AllVerifyError(
	params *Parameter,
	contentsWithLines ...corestr.TextWithLineNumber,
) error

func (*LinesValidators) AsBasicSliceContractsBinder

func (it *LinesValidators) AsBasicSliceContractsBinder() coreinterface.BasicSlicerContractsBinder

func (*LinesValidators) Count

func (it *LinesValidators) Count() int

func (*LinesValidators) HasAnyItem

func (it *LinesValidators) HasAnyItem() bool

func (*LinesValidators) HasIndex

func (it *LinesValidators) HasIndex(index int) bool

func (*LinesValidators) IsEmpty

func (it *LinesValidators) IsEmpty() bool

func (*LinesValidators) IsMatch

func (it *LinesValidators) IsMatch(
	isSkipValidationOnNoContents,
	isCaseSensitive bool,
	contentsWithLines ...corestr.TextWithLineNumber,
) bool

func (*LinesValidators) IsMatchText

func (it *LinesValidators) IsMatchText(
	text string,
	isCaseSensitive bool,
) bool

func (*LinesValidators) LastIndex

func (it *LinesValidators) LastIndex() int

func (*LinesValidators) Length

func (it *LinesValidators) Length() int

func (*LinesValidators) String

func (it *LinesValidators) String() string

func (*LinesValidators) VerifyFirstDefaultLineNumberError

func (it *LinesValidators) VerifyFirstDefaultLineNumberError(
	params *Parameter,
	contentsWithLines ...corestr.TextWithLineNumber,
) error

VerifyFirstDefaultLineNumberError index considers to be the line number

type Parameter added in v1.5.0

type Parameter struct {
	CaseIndex                  int    // which index
	Header                     string // case title
	IsSkipCompareOnActualEmpty bool   // don't activate comparison if actual is empty or nil.
	IsAttachUserInputs         bool   // attach the user inputs to the console output
	IsCaseSensitive            bool
}

func (Parameter) IsIgnoreCase added in v1.5.0

func (it Parameter) IsIgnoreCase() bool

type RangeSegmentsValidator added in v1.5.0

type RangeSegmentsValidator struct {
	Title            string
	VerifierSegments []RangesSegment
	// contains filtered or unexported fields
}

func (*RangeSegmentsValidator) LengthOfVerifierSegments added in v1.5.0

func (it *RangeSegmentsValidator) LengthOfVerifierSegments() int

func (*RangeSegmentsValidator) SetActual added in v1.5.0

func (it *RangeSegmentsValidator) SetActual(
	lines []string,
) *RangeSegmentsValidator

func (*RangeSegmentsValidator) Validators added in v1.5.0

func (*RangeSegmentsValidator) VerifyAll added in v1.5.0

func (it *RangeSegmentsValidator) VerifyAll(
	header string,
	actual []string,
	params *Parameter,
	isPrintError bool,
) error

func (*RangeSegmentsValidator) VerifyFirst added in v1.5.0

func (it *RangeSegmentsValidator) VerifyFirst(
	header string,
	actual []string,
	params *Parameter,
	isPrintError bool,
) error

func (*RangeSegmentsValidator) VerifyFirstDefault added in v1.5.0

func (it *RangeSegmentsValidator) VerifyFirstDefault(
	actual []string,
	params *Parameter,
	isPrintError bool,
) error

func (*RangeSegmentsValidator) VerifySimple added in v1.5.0

func (it *RangeSegmentsValidator) VerifySimple(
	actual []string,
	params *Parameter,
	isPrintError bool,
) error

func (*RangeSegmentsValidator) VerifyUpto added in v1.5.0

func (it *RangeSegmentsValidator) VerifyUpto(
	header string,
	actual []string,
	params *Parameter,
	length int,
	isPrintError bool,
) error

func (*RangeSegmentsValidator) VerifyUptoDefault added in v1.5.0

func (it *RangeSegmentsValidator) VerifyUptoDefault(
	actual []string,
	params *Parameter,
	length int,
	isPrintError bool,
) error

type RangesSegment

type RangesSegment struct {
	corerange.RangeInt
	ExpectedLines []string
	CompareAs     stringcompareas.Variant
	Condition
}

type SimpleSliceValidator

type SimpleSliceValidator struct {
	Expected *corestr.SimpleSlice

	Condition
	CompareAs stringcompareas.Variant
	// contains filtered or unexported fields
}

func (*SimpleSliceValidator) SetActual

func (it *SimpleSliceValidator) SetActual(lines []string) *SimpleSliceValidator

func (*SimpleSliceValidator) SliceValidator

func (it *SimpleSliceValidator) SliceValidator() *SliceValidator

func (*SimpleSliceValidator) VerifyAll

func (it *SimpleSliceValidator) VerifyAll(
	actual []string,
	params *Parameter,
) error

func (*SimpleSliceValidator) VerifyFirst

func (it *SimpleSliceValidator) VerifyFirst(
	actual []string,
	params *Parameter,
) error

func (*SimpleSliceValidator) VerifyUpto

func (it *SimpleSliceValidator) VerifyUpto(
	actual []string,
	params *Parameter,
	length int,
) error

type SliceValidator

type SliceValidator struct {
	Condition
	CompareAs stringcompareas.Variant
	// ActualLines considered to be actual
	// ExpectedLines considered to be expected
	ActualLines, ExpectedLines []string
	// contains filtered or unexported fields
}

SliceValidator

Use this only for one time verification only.

If IsUsedAlready, don't mutate the ActualLines or ExpectedLines it will not work.

func NewSliceValidatorUsingAny

func NewSliceValidatorUsingAny(
	anyValActual interface{},
	compareLinesContentExpected string,
	isTrimLineCompare,
	isNonEmptyWhitespace,
	isSortStringsBySpace bool,
	compareAs stringcompareas.Variant,
) *SliceValidator

func NewSliceValidatorUsingErr

func NewSliceValidatorUsingErr(
	errActual error,
	compareLinesContentAsExpected string,
	isTrimLineCompare,
	isNonEmptyWhitespace,
	isSortStringsBySpace bool,
	compareAs stringcompareas.Variant,
) *SliceValidator

func (*SliceValidator) ActualInputMessage

func (it *SliceValidator) ActualInputMessage(
	caseIndex int,
	header string,
) string

func (*SliceValidator) ActualInputWithExpectingMessage

func (it *SliceValidator) ActualInputWithExpectingMessage(caseIndex int, header string) string

func (*SliceValidator) ActualLinesLength

func (it *SliceValidator) ActualLinesLength() int

func (*SliceValidator) ActualLinesString

func (it *SliceValidator) ActualLinesString() string

func (*SliceValidator) AllVerifyError

func (it *SliceValidator) AllVerifyError(
	params *Parameter,
) error

func (*SliceValidator) AllVerifyErrorExceptLast

func (it *SliceValidator) AllVerifyErrorExceptLast(
	params *Parameter,
) error

AllVerifyErrorExceptLast

Verify up to the second last item.

func (*SliceValidator) AllVerifyErrorQuick added in v1.5.0

func (it *SliceValidator) AllVerifyErrorQuick(
	caseIndex int,
	header string,
	actualElements ...string,
) error

func (*SliceValidator) AllVerifyErrorTestCase

func (it *SliceValidator) AllVerifyErrorTestCase(
	caseIndex int,
	header string,
	isCaseSensitive bool,
) error

func (*SliceValidator) AllVerifyErrorUptoLength

func (it *SliceValidator) AllVerifyErrorUptoLength(
	isFirstOnly bool,
	params *Parameter,
	lengthUpto int,
) error

func (*SliceValidator) AssertAllQuick added in v1.5.0

func (it *SliceValidator) AssertAllQuick(
	t *testing.T,
	caseIndex int,
	header string,
	actualElements ...string,
)

func (*SliceValidator) ComparingValidators

func (it *SliceValidator) ComparingValidators() *TextValidators

func (*SliceValidator) Dispose added in v1.5.0

func (it *SliceValidator) Dispose()

func (*SliceValidator) ExpectingLinesLength

func (it *SliceValidator) ExpectingLinesLength() int

func (*SliceValidator) ExpectingLinesString

func (it *SliceValidator) ExpectingLinesString() string

func (*SliceValidator) IsUsedAlready added in v1.5.0

func (it *SliceValidator) IsUsedAlready() bool

func (*SliceValidator) IsValid

func (it *SliceValidator) IsValid(isCaseSensitive bool) bool

func (*SliceValidator) IsValidOtherLines

func (it *SliceValidator) IsValidOtherLines(
	isCaseSensitive bool,
	otherActualLines []string,
) bool

func (*SliceValidator) MethodName

func (it *SliceValidator) MethodName() string

func (*SliceValidator) SetActual

func (it *SliceValidator) SetActual(
	actual []string,
) *SliceValidator

func (*SliceValidator) SetActualVsExpected

func (it *SliceValidator) SetActualVsExpected(
	actual, expected []string,
) *SliceValidator

func (*SliceValidator) UserExpectingMessage

func (it *SliceValidator) UserExpectingMessage(
	caseIndex int,
	header string,
) string

func (*SliceValidator) UserInputsMergeWithError

func (it *SliceValidator) UserInputsMergeWithError(
	parameter *Parameter,
	err error,
) error

UserInputsMergeWithError

  • Returns a combine error of actual and expecting inputs.
  • If all validation successful then no error.

func (*SliceValidator) VerifyFirstError

func (it *SliceValidator) VerifyFirstError(
	parameter *Parameter,
) error

func (*SliceValidator) VerifyFirstLengthUptoError

func (it *SliceValidator) VerifyFirstLengthUptoError(
	params *Parameter,
	lengthUpTo int,
) error

type SliceValidators

type SliceValidators struct {
	Validators []SliceValidator
}

func (*SliceValidators) AssertVerifyAll added in v1.5.0

func (it *SliceValidators) AssertVerifyAll(
	t *testing.T,
	params *Parameter,
)

func (*SliceValidators) AssertVerifyAllUsingActual added in v1.5.0

func (it *SliceValidators) AssertVerifyAllUsingActual(
	t *testing.T,
	params *Parameter,
	actualLines ...string,
)

func (*SliceValidators) IsEmpty

func (it *SliceValidators) IsEmpty() bool

func (*SliceValidators) IsMatch

func (it *SliceValidators) IsMatch(
	isCaseSensitive bool,
) bool

func (*SliceValidators) IsValid

func (it *SliceValidators) IsValid(
	isCaseSensitive bool,
) bool

func (*SliceValidators) Length

func (it *SliceValidators) Length() int

func (*SliceValidators) SetActualOnAll added in v1.5.0

func (it *SliceValidators) SetActualOnAll(actualLines ...string)

func (*SliceValidators) VerifyAll

func (it *SliceValidators) VerifyAll(
	header string,
	params *Parameter,
	isPrintError bool,
) error

func (*SliceValidators) VerifyAllError added in v1.5.0

func (it *SliceValidators) VerifyAllError(
	params *Parameter,
) error

func (*SliceValidators) VerifyAllErrorUsingActual added in v1.5.0

func (it *SliceValidators) VerifyAllErrorUsingActual(
	params *Parameter,
	actualLines ...string,
) error

func (*SliceValidators) VerifyFirst

func (it *SliceValidators) VerifyFirst(
	params *Parameter,
	isPrintError bool,
) error

VerifyFirst

Only collect using the SliceValidator.VerifyFirstError

func (*SliceValidators) VerifyUpto

func (it *SliceValidators) VerifyUpto(
	isPrintErr,
	isFirstOnly bool,
	length int,
	params *Parameter,
) error

type TextValidator

type TextValidator struct {
	Search   string `json:"Search,omitempty"`
	SearchAs stringcompareas.Variant
	Condition
	// contains filtered or unexported fields
}

func (*TextValidator) AllVerifyError

func (it *TextValidator) AllVerifyError(
	params *Parameter,
	contents ...string,
) error

func (*TextValidator) GetCompiledTermBasedOnConditions

func (it *TextValidator) GetCompiledTermBasedOnConditions(
	input string,
	isCaseSensitive bool,
) string

func (*TextValidator) IsMatch

func (it *TextValidator) IsMatch(
	content string,
	isCaseSensitive bool,
) bool

func (*TextValidator) IsMatchMany

func (it *TextValidator) IsMatchMany(
	isSkipOnContentsEmpty,
	isCaseSensitive bool,
	contents ...string,
) bool

func (*TextValidator) MethodName

func (it *TextValidator) MethodName() string

func (*TextValidator) SearchTextFinalized

func (it *TextValidator) SearchTextFinalized() string

func (*TextValidator) SearchTextFinalizedPtr

func (it *TextValidator) SearchTextFinalizedPtr() *string

func (*TextValidator) String

func (it *TextValidator) String() string

func (*TextValidator) ToString

func (it *TextValidator) ToString(isSingleLine bool) string

func (*TextValidator) VerifyDetailError

func (it *TextValidator) VerifyDetailError(
	params *Parameter,
	content string,
) error

func (*TextValidator) VerifyFirstError

func (it *TextValidator) VerifyFirstError(
	params *Parameter,
	contents ...string,
) error

func (*TextValidator) VerifyMany

func (it *TextValidator) VerifyMany(
	isContinueOnError bool,
	params *Parameter,
	contents ...string,
) error

func (*TextValidator) VerifySimpleError

func (it *TextValidator) VerifySimpleError(
	processingIndex int,
	params *Parameter,
	content string,
) error

type TextValidators

type TextValidators struct {
	Items []TextValidator
}

func NewTextValidators

func NewTextValidators(capacity int) *TextValidators

func (*TextValidators) Add

func (it *TextValidators) Add(
	validator TextValidator,
) *TextValidators

func (*TextValidators) AddSimple

func (it *TextValidators) AddSimple(
	searchTerm string,
	compareAs stringcompareas.Variant,
) *TextValidators

func (*TextValidators) AddSimpleAllTrue

func (it *TextValidators) AddSimpleAllTrue(
	searchTerm string,
	compareAs stringcompareas.Variant,
) *TextValidators

func (*TextValidators) Adds

func (it *TextValidators) Adds(
	validators ...TextValidator,
) *TextValidators

func (*TextValidators) AllVerifyError

func (it *TextValidators) AllVerifyError(
	caseIndex int,
	content string,
	isCaseSensitive bool,
) error

func (*TextValidators) AllVerifyErrorMany

func (it *TextValidators) AllVerifyErrorMany(
	params *Parameter,
	contents ...string,
) error

func (*TextValidators) AsBasicSliceContractsBinder

func (it *TextValidators) AsBasicSliceContractsBinder() coreinterface.BasicSlicerContractsBinder

func (*TextValidators) Count

func (it *TextValidators) Count() int

func (*TextValidators) Dispose added in v1.5.0

func (it *TextValidators) Dispose()

func (*TextValidators) HasAnyItem

func (it *TextValidators) HasAnyItem() bool

func (*TextValidators) HasIndex

func (it *TextValidators) HasIndex(index int) bool

func (*TextValidators) IsEmpty

func (it *TextValidators) IsEmpty() bool

func (*TextValidators) IsMatch

func (it *TextValidators) IsMatch(
	content string,
	isCaseSensitive bool,
) bool

func (*TextValidators) IsMatchMany

func (it *TextValidators) IsMatchMany(
	isSkipOnContentsEmpty,
	isCaseSensitive bool,
	contents ...string,
) bool

func (*TextValidators) LastIndex

func (it *TextValidators) LastIndex() int

func (*TextValidators) Length

func (it *TextValidators) Length() int

func (*TextValidators) String

func (it *TextValidators) String() string

func (*TextValidators) VerifyErrorMany

func (it *TextValidators) VerifyErrorMany(
	isContinueOnError bool,
	params *Parameter,
	contents ...string,
) error

func (*TextValidators) VerifyFirstError

func (it *TextValidators) VerifyFirstError(
	caseIndex int,
	content string,
	isCaseSensitive bool,
) error

func (*TextValidators) VerifyFirstErrorMany

func (it *TextValidators) VerifyFirstErrorMany(
	params *Parameter,
	contents ...string,
) error

Jump to

Keyboard shortcuts

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