Search in sources :

Example 6 with Digits

use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.

the class DigitsValidatorForMonetaryAmountTest method testIsValidZeroLength.

@Test
public void testIsValidZeroLength() {
    descriptorBuilder.setAttribute("integer", 0);
    descriptorBuilder.setAttribute("fraction", 0);
    Digits p = descriptorBuilder.build().getAnnotation();
    DigitsValidatorForMonetaryAmount constraint = new DigitsValidatorForMonetaryAmount();
    constraint.initialize(p);
    CurrencyUnit currency = Monetary.getCurrency("EUR");
    assertTrue(constraint.isValid(null, null));
    assertFalse(constraint.isValid(Money.of(Byte.valueOf("0"), currency), null));
    assertFalse(constraint.isValid(Money.of(Double.valueOf("500.2"), currency), null));
}
Also used : DigitsValidatorForMonetaryAmount(org.hibernate.validator.internal.constraintvalidators.bv.money.DigitsValidatorForMonetaryAmount) CurrencyUnit(javax.money.CurrencyUnit) Digits(jakarta.validation.constraints.Digits) Test(org.testng.annotations.Test)

Example 7 with Digits

use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.

the class DigitsValidatorForMonetaryAmountTest method testNegativeFractionLength.

@Test(expectedExceptions = IllegalArgumentException.class)
public void testNegativeFractionLength() {
    descriptorBuilder.setAttribute("integer", 1);
    descriptorBuilder.setAttribute("fraction", -1);
    Digits p = descriptorBuilder.build().getAnnotation();
    DigitsValidatorForMonetaryAmount constraint = new DigitsValidatorForMonetaryAmount();
    constraint.initialize(p);
}
Also used : DigitsValidatorForMonetaryAmount(org.hibernate.validator.internal.constraintvalidators.bv.money.DigitsValidatorForMonetaryAmount) Digits(jakarta.validation.constraints.Digits) Test(org.testng.annotations.Test)

Example 8 with Digits

use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.

the class DigitsValidatorForMonetaryAmountTest method testTrailingZerosAreTrimmed.

@Test
public void testTrailingZerosAreTrimmed() {
    descriptorBuilder.setAttribute("integer", 12);
    descriptorBuilder.setAttribute("fraction", 3);
    Digits p = descriptorBuilder.build().getAnnotation();
    DigitsValidatorForMonetaryAmount constraint = new DigitsValidatorForMonetaryAmount();
    constraint.initialize(p);
    CurrencyUnit currency = Monetary.getCurrency("EUR");
    assertTrue(constraint.isValid(Money.of(0.001d, currency), null));
    assertTrue(constraint.isValid(Money.of(0.00100d, currency), null));
    assertFalse(constraint.isValid(Money.of(0.0001d, currency), null));
}
Also used : DigitsValidatorForMonetaryAmount(org.hibernate.validator.internal.constraintvalidators.bv.money.DigitsValidatorForMonetaryAmount) CurrencyUnit(javax.money.CurrencyUnit) Digits(jakarta.validation.constraints.Digits) Test(org.testng.annotations.Test)

Example 9 with Digits

use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.

the class DigitsValidatorForMonetaryAmountTest method testNegativeIntegerLength.

@Test(expectedExceptions = IllegalArgumentException.class)
public void testNegativeIntegerLength() {
    descriptorBuilder.setAttribute("integer", -1);
    descriptorBuilder.setAttribute("fraction", 1);
    Digits p = descriptorBuilder.build().getAnnotation();
    DigitsValidatorForMonetaryAmount constraint = new DigitsValidatorForMonetaryAmount();
    constraint.initialize(p);
}
Also used : DigitsValidatorForMonetaryAmount(org.hibernate.validator.internal.constraintvalidators.bv.money.DigitsValidatorForMonetaryAmount) Digits(jakarta.validation.constraints.Digits) Test(org.testng.annotations.Test)

Example 10 with Digits

use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.

the class DigitsValidatorForMonetaryAmountTest method testIsValid.

@Test
public void testIsValid() {
    descriptorBuilder.setAttribute("integer", 5);
    descriptorBuilder.setAttribute("fraction", 2);
    Digits p = descriptorBuilder.build().getAnnotation();
    DigitsValidatorForMonetaryAmount constraint = new DigitsValidatorForMonetaryAmount();
    constraint.initialize(p);
    CurrencyUnit currency = Monetary.getCurrency("EUR");
    assertTrue(constraint.isValid(null, null));
    assertTrue(constraint.isValid(Money.of(Byte.valueOf("0"), currency), null));
    assertTrue(constraint.isValid(Money.of(Double.valueOf("500.2"), currency), null));
    assertTrue(constraint.isValid(Money.of(new BigDecimal("-12345.12"), currency), null));
    assertFalse(constraint.isValid(Money.of(new BigDecimal("-123456.12"), currency), null));
    assertFalse(constraint.isValid(Money.of(new BigDecimal("-123456.123"), currency), null));
    assertFalse(constraint.isValid(Money.of(new BigDecimal("-12345.123"), currency), null));
    assertFalse(constraint.isValid(Money.of(new BigDecimal("12345.123"), currency), null));
    assertTrue(constraint.isValid(Money.of(Float.valueOf("-000000000.22"), currency), null));
    assertFalse(constraint.isValid(Money.of(Integer.valueOf("256874"), currency), null));
    assertFalse(constraint.isValid(Money.of(Double.valueOf("12.0001"), currency), null));
}
Also used : DigitsValidatorForMonetaryAmount(org.hibernate.validator.internal.constraintvalidators.bv.money.DigitsValidatorForMonetaryAmount) CurrencyUnit(javax.money.CurrencyUnit) Digits(jakarta.validation.constraints.Digits) BigDecimal(java.math.BigDecimal) Test(org.testng.annotations.Test)

Aggregations

Digits (jakarta.validation.constraints.Digits)15 Test (org.testng.annotations.Test)12 DigitsValidatorForNumber (org.hibernate.validator.internal.constraintvalidators.bv.DigitsValidatorForNumber)5 DigitsValidatorForMonetaryAmount (org.hibernate.validator.internal.constraintvalidators.bv.money.DigitsValidatorForMonetaryAmount)5 CurrencyUnit (javax.money.CurrencyUnit)3 DigitsValidatorForCharSequence (org.hibernate.validator.internal.constraintvalidators.bv.DigitsValidatorForCharSequence)3 BigDecimal (java.math.BigDecimal)2 DecimalMax (jakarta.validation.constraints.DecimalMax)1 DecimalMin (jakarta.validation.constraints.DecimalMin)1 Max (jakarta.validation.constraints.Max)1 Min (jakarta.validation.constraints.Min)1 Pattern (jakarta.validation.constraints.Pattern)1 Size (jakarta.validation.constraints.Size)1 ConstraintDescriptor (jakarta.validation.metadata.ConstraintDescriptor)1 XmlList (jakarta.xml.bind.annotation.XmlList)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 DecimalMaxFacet (org.eclipse.persistence.jaxb.compiler.facets.DecimalMaxFacet)1 DecimalMinFacet (org.eclipse.persistence.jaxb.compiler.facets.DecimalMinFacet)1 DigitsFacet (org.eclipse.persistence.jaxb.compiler.facets.DigitsFacet)1