Package br.com.caelum.stella.bean.validation.xml.logic

Source Code of br.com.caelum.stella.bean.validation.xml.logic.StellaMaxValidatorTest$AnnotatedModel

package br.com.caelum.stella.bean.validation.xml.logic;

import javax.validation.ConstraintValidatorContext;

import junit.framework.Assert;
import net.vidageek.mirror.dsl.Mirror;

import org.junit.Test;
import org.mockito.Mockito;

import br.com.caelum.stella.bean.validation.xml.Max;
import br.com.caelum.stella.bean.validation.xml.logic.StellaMaxValidator;

@SuppressWarnings("deprecation")
final public class StellaMaxValidatorTest {
  private ConstraintValidatorContext context = Mockito.mock(ConstraintValidatorContext.class);

    @Test
    public void testThatNullIsValid() {
    StellaMaxValidator validator = new StellaMaxValidator();
        Assert.assertTrue(validator.isValid(null,context));
    }

    @Test
    public void testThatAcceptsOnlyByteShortIntegerAndLong() {
        StellaMaxValidator validator = new StellaMaxValidator();

        validator.initialize(new Mirror().on(AnnotatedModel.class).reflect().annotation(Max.class).atField("b"));
        Assert.assertTrue(validator.isValid((byte) 10,context));
        Assert.assertTrue(validator.isValid((short) 10,context));
        Assert.assertTrue(validator.isValid(10,context));
        Assert.assertTrue(validator.isValid((long) 10,context));
    }

    @Test
    public void testThatIsInvalidIfValueIsBiggerThanAnnotatedValue() {
        StellaMaxValidator validator = new StellaMaxValidator();
        validator.initialize(new Mirror().on(AnnotatedModel.class).reflect().annotation(Max.class).atField("b"));

        Assert.assertFalse(validator.isValid(21,context));
    }

    @Test
    public void testThatIsValidIfValueIsEqualToAnnotatedValue() {
        StellaMaxValidator validator = new StellaMaxValidator();
        validator.initialize(new Mirror().on(AnnotatedModel.class).reflect().annotation(Max.class).atField("b"));

        Assert.assertTrue(validator.isValid(10,context));
    }

    public static class AnnotatedModel {
        @Max(20)
        public Byte b;
    }
}
TOP

Related Classes of br.com.caelum.stella.bean.validation.xml.logic.StellaMaxValidatorTest$AnnotatedModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.