package eu.ggnet.dwoss.spec.entity; import javax.validation.Validation; import javax.validation.Validator; import org.junit.Test; import eu.ggnet.dwoss.rules.ProductGroup; import eu.ggnet.dwoss.rules.TradeName; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** * * @author oliver.guenther */ public class ProductSpecTest { private Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); @Test public void testValidateProductSpec() { ProductSeries veriton = new ProductSeries(TradeName.ACER, ProductGroup.DESKTOP, "Veriton"); ProductFamily lfamiliy = new ProductFamily("Veriton L"); lfamiliy.setSeries(veriton); ProductModel l640 = new ProductModel("Veriton L640"); l640.setFamily(lfamiliy); ProductSpec s = new BasicSpec("LX.AAAAA.BBB", 1L); s.setModel(l640); assertTrue(s + " should be valid", validator.validate(s).isEmpty()); s.setPartNo("LX.AAAAA.OOB"); assertTrue("The letter O should be allowed", validator.validate(s).isEmpty()); s.setPartNo(" LLL"); assertFalse(s.getPartNo() + " should be invalid", validator.validate(s).isEmpty()); s.setPartNo("RA LL"); assertFalse(s.getPartNo() + " should be invalid", validator.validate(s).isEmpty()); } }