View Source UkraineNbuqrEx.Amount.Validator (ukraine_nbuqr v0.1.0)
Amount.Validator validates amount structs Correct amount must be less than 999_999_999.99 and greater than 0
Summary
Functions
validate/1 validates amount struct
Functions
@spec validate(amount :: UkraineNbuqrEx.Amount.t() | {:error, String.t()}) :: UkraineNbuqrEx.Amount.t() | {:error, String.t()}
validate/1 validates amount struct
Examples
iex> UkraineNbuqrEx.Amount.Validator.validate(%UkraineNbuqrEx.Amount{units: "100", cents: "5"})
{:ok, %UkraineNbuqrEx.Amount{units: "100", cents: "5"}}
iex> UkraineNbuqrEx.Amount.Validator.validate(%UkraineNbuqrEx.Amount{units: "999999999", cents: "99"})
{:ok, %UkraineNbuqrEx.Amount{units: "999999999", cents: "99"}}
iex> UkraineNbuqrEx.Amount.Validator.validate(%UkraineNbuqrEx.Amount{units: "0", cents: "01"})
{:ok, %UkraineNbuqrEx.Amount{units: "0", cents: "01"}}
iex> UkraineNbuqrEx.Amount.Validator.validate(%UkraineNbuqrEx.Amount{units: "1000000000", cents: nil})
{:error, "Amount greather then 999999999.99"}
iex> UkraineNbuqrEx.Amount.Validator.validate(%UkraineNbuqrEx.Amount{units: "1000000000", cents: "1"})
{:error, "Amount greather then 999999999.99"}
iex> UkraineNbuqrEx.Amount.Validator.validate(%UkraineNbuqrEx.Amount{units: "0", cents: nil})
{:error, "Zero amount"}