package eu.ggnet.dwoss.spec.entity.piece;
import java.util.HashSet;
import java.util.Set;
import javax.validation.*;
import org.junit.*;
import static org.junit.Assert.*;
//TODO two identic GPUs should not exist.
/**
*
* @author bastian.venz
*/
public class PieceTest {
private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
/**
* Test of getExtras method, of class BasicSpec.
*/
@Test
public void testGpu() {
Gpu gpu = new Gpu();
Set<ConstraintViolation<Gpu>> violations = validator.validate(gpu);
assertEquals(2, violations.size());
Set<String> properties = new HashSet<>();
for (ConstraintViolation<Gpu> constraintViolation : violations) {
properties.add(constraintViolation.getPropertyPath().toString());
}
assertTrue(properties.contains("series"));
assertTrue(properties.contains("model"));
gpu.setSeries(Gpu.Series.GEFORCE_8000);
violations = validator.validate(gpu);
assertEquals(1, violations.size());
assertTrue(violations.iterator().next().getPropertyPath().toString().equals("model"));
gpu.setModel("");
violations = validator.validate(gpu);
assertEquals(1, violations.size());
assertTrue(violations.iterator().next().getPropertyPath().toString().equals("model"));
gpu.setModel(" ");
violations = validator.validate(gpu);
assertEquals(1, violations.size());
assertTrue(violations.iterator().next().getPropertyPath().toString().equals("model"));
gpu.setModel("Hd334");
violations = validator.validate(gpu);
assertTrue(violations.isEmpty());
}
@Test
public void testGpuSeries() {
for (Gpu.Series series : Gpu.Series.values()) {
assertNotNull(series.getManufacturer());
}
}
@Test
public void testCpuSeries() {
for (Cpu.Series series : Cpu.Series.values()) {
assertNotNull(series.getManufacturer());
}
}
@Test
public void testCpu() {
Cpu cpu = new Cpu();
Set<ConstraintViolation<Cpu>> violations = validator.validate(cpu);
assertEquals(2, violations.size());
Set<String> properties = new HashSet<>();
for (ConstraintViolation<Cpu> constraintViolation : violations) {
properties.add(constraintViolation.getPropertyPath().toString());
}
assertTrue(properties.contains("series"));
assertTrue(properties.contains("model"));
cpu.setSeries(Cpu.Series.AMD_V);
violations = validator.validate(cpu);
assertEquals(1, violations.size());
assertTrue(violations.iterator().next().getPropertyPath().toString().equals("model"));
cpu.setModel("");
violations = validator.validate(cpu);
assertEquals(1, violations.size());
assertTrue(violations.iterator().next().getPropertyPath().toString().equals("model"));
cpu.setModel(" ");
violations = validator.validate(cpu);
assertEquals(1, violations.size());
assertTrue(violations.iterator().next().getPropertyPath().toString().equals("model"));
cpu.setModel("i3-324");
violations = validator.validate(cpu);
assertTrue(violations.isEmpty());
}
}