gitlab.com/evatix-go/core@v1.3.55/corevalidator/SimpleSliceValidator.go (about)

     1  package corevalidator
     2  
     3  import (
     4  	"gitlab.com/evatix-go/core/coredata/corestr"
     5  	"gitlab.com/evatix-go/core/enums/stringcompareas"
     6  )
     7  
     8  type SimpleSliceValidator struct {
     9  	Expected *corestr.SimpleSlice
    10  	actual   *corestr.SimpleSlice
    11  	ValidatorCoreCondition
    12  	CompareAs stringcompareas.Variant
    13  }
    14  
    15  func (it *SimpleSliceValidator) SetActual(lines []string) *SimpleSliceValidator {
    16  	it.actual = corestr.New.SimpleSlice.Direct(
    17  		false,
    18  		lines)
    19  
    20  	return it
    21  }
    22  
    23  func (it *SimpleSliceValidator) SliceValidator() *SliceValidator {
    24  	sliceValidator := SliceValidator{
    25  		CompareAs:              it.CompareAs,
    26  		ValidatorCoreCondition: it.ValidatorCoreCondition,
    27  		ActualLines:            it.actual.Items,
    28  		ExpectedLines:          it.Expected.Items,
    29  	}
    30  
    31  	return &sliceValidator
    32  }
    33  
    34  func (it *SimpleSliceValidator) VerifyAll(
    35  	actual []string,
    36  	params *ValidatorParamsBase,
    37  ) error {
    38  	sliceValidator := it.SliceValidator()
    39  	sliceValidator.ActualLines = actual
    40  
    41  	return sliceValidator.AllVerifyError(params)
    42  }
    43  
    44  func (it *SimpleSliceValidator) VerifyFirst(
    45  	actual []string,
    46  	params *ValidatorParamsBase,
    47  ) error {
    48  	sliceValidator := it.SliceValidator()
    49  	sliceValidator.ActualLines = actual
    50  
    51  	return sliceValidator.VerifyFirstError(params)
    52  }
    53  
    54  func (it *SimpleSliceValidator) VerifyUpto(
    55  	actual []string,
    56  	params *ValidatorParamsBase,
    57  	length int,
    58  ) error {
    59  	sliceValidator := it.SliceValidator()
    60  	sliceValidator.ActualLines = actual
    61  
    62  	return sliceValidator.AllVerifyErrorUptoLength(
    63  		false,
    64  		params,
    65  		length)
    66  }