add more tests cases

This commit is contained in:
2025-10-23 03:23:26 +02:00
parent 60e3a804ac
commit 9ab669868d
7 changed files with 114 additions and 72 deletions
+15 -20
View File
@@ -29,24 +29,19 @@ type FileStats struct {
}
var (
ErrCannotParseFile = errors.New("cannot parse file")
ErrValidateRecord = errors.New("error validating record")
ErrRecordNotValid = errors.New("record not valid")
ErrInvalidDateFormat = errors.New("invalid date format")
ErrReadingCSVHeader = errors.New("error reading CSV header")
ErrReadingCSVRow = errors.New("error reading CSV row")
ErrMissingDateField = errors.New("missing date field")
ErrMissingCityField = errors.New("missing city field")
ErrMissingMaxTempField = errors.New("missing max temp field")
ErrMissingMinTempField = errors.New("missing min temp field")
ErrMissingRainfallField = errors.New("missing rainfall field")
ErrMissingCloudinessField = errors.New("missing cloudiness field")
ErrInvalidMaxTemp = errors.New("invalid max temp")
ErrInvalidMinTemp = errors.New("invalid min temp")
ErrInvalidRainfall = errors.New("invalid rainfall")
ErrInvalidCloudiness = errors.New("invalid cloudiness")
ErrMaxTempOutOfRange = errors.New("max temp out of range (must be <= 60°C)")
ErrMinTempOutOfRange = errors.New("min temp out of range (must be >= -20°C)")
ErrRainfallOutOfRange = errors.New("rainfall out of range (must be 0-500 mm)")
ErrCloudinessOutOfRange = errors.New("cloudiness out of range (must be 0-100%)")
ErrCannotParseFile = errors.New("cannot parse file")
ErrValidateRecord = errors.New("error validating record")
ErrRecordNotValid = errors.New("record not valid")
ErrReadingCSVHeader = errors.New("error reading CSV header")
ErrReadingCSVRow = errors.New("error reading CSV row")
ErrMissingOrInvalidDateField = errors.New("missing or invalid date field")
ErrMissingOrInvalidCityField = errors.New("missing or invalid city field")
ErrMissingOrInvalidMaxTemp = errors.New("missing or invalid max temp field")
ErrMissingOrInvalidMinTemp = errors.New("missing or invalid min temp field")
ErrMissingOrInvalidRainfall = errors.New("missing or invalid rainfall field")
ErrMissingOrInvalidCloudiness = errors.New("missing or invalid cloudiness field")
ErrMaxTempOutOfRange = errors.New("max temp out of range (must be <= 60°C)")
ErrMinTempOutOfRange = errors.New("min temp out of range (must be >= -20°C)")
ErrRainfallOutOfRange = errors.New("rainfall out of range (must be 0-500 mm)")
ErrCloudinessOutOfRange = errors.New("cloudiness out of range (must be 0-100%)")
)