package com.venky.swf.db.annotations.model.validations; import junit.framework.Assert; import org.junit.BeforeClass; import org.junit.Test; import com.venky.core.util.ExceptionUtil; import com.venky.swf.db.Database; import com.venky.swf.routing.Router; import com.venky.swf.test.db.model.RangeModel; public class RangeTest { @BeforeClass public static void setUp(){ Router.instance().setLoader(RangeTest.class.getClassLoader()); } @Test public void test(){ RangeModel model = Database.getTable(RangeModel.class).newRecord(); for (double d = -1.0 ; d< 0 ; d+= 0.1 ){ try { model.setX(d); model.save(); Assert.fail("Save should have failed"); }catch (Exception e){ System.out.println(ExceptionUtil.getRootCause(e).getMessage()); Assert.assertTrue(ExceptionUtil.getRootCause(e).getMessage().startsWith("X must be between:(0.0,1.0)")); } } for (double d = 0.0 ; d <= 1.0 ; d+= 0.1 ){ model.setX(d); model.save(); } for (int y = -10 ; y < 10 ; y ++ ){ try { model.setY(y); model.save(); if (y < 0 || y > 3){ Assert.fail("Save should have failed"); } }catch (Exception e){ if (y < 0 || y > 3){ System.out.println(ExceptionUtil.getRootCause(e).getMessage()); Assert.assertTrue(ExceptionUtil.getRootCause(e).getMessage().startsWith("Y must be between (0,3)")); }else { Assert.fail("Save should have passed"); } } } for (double d = 1.1 ; d < 2.0 ; d+= 0.1 ){ try { model.setX(d); model.save(); Assert.fail("Save should have failed"); }catch (Exception e){ System.out.println(ExceptionUtil.getRootCause(e).getMessage()); Assert.assertTrue(ExceptionUtil.getRootCause(e).getMessage().startsWith("X must be between:(0.0,1.0)")); } } } }