Search in sources :

Example 6 with Notebook

use of eu.ggnet.dwoss.spec.ee.entity.Notebook in project dwoss by gg-net.

the class ReceiptProductLogicPossibleDeadlockIT method testDeadlockProductSpec.

@Test
@Ignore
public void testDeadlockProductSpec() throws Exception {
    // 
    // 
    // Test will run into a Deadlock if no Product Modell is setted!
    // It will Display no Error but we hope for an Exception!
    // To Recreated the Deadlock comment the Line Between the "Comment This" Comments
    // 
    // 
    // Possible Reason that it will here appear a deadlock ist a bug in EJB that by a Validator Exception not return a exception
    // but hang there. Maybe fixed in next version.
    // TODO when used new Version of EJB then testet deadlock again!
    // 
    Display display = new Display(Display.Size._10_1, Display.Resolution.VGA, Display.Type.MATT, Display.Ration.FOUR_TO_THREE);
    ProductModel productModel = new ProductModel("TestModel");
    productModel.setFamily(new ProductFamily("TestFamily"));
    // Create a CPU and GPU and persist it.
    utx.begin();
    em.joinTransaction();
    Cpu cpu = new Cpu(Cpu.Series.CORE, "TestCPU", Cpu.Type.MOBILE, 2.0, 5);
    Gpu gpu = new Gpu(Gpu.Type.MOBILE, Gpu.Series.GEFORCE_100, "TestGPU");
    ProductSeries productSeries = new ProductSeries(TradeName.ONESELF, ProductGroup.MISC, "TestSeries");
    ProductFamily productFamily = new ProductFamily("TestFamily", productSeries);
    // Comment This
    // productModel.setFamily(productFamily);
    // Comment This
    em.persist(cpu);
    em.persist(gpu);
    em.persist(productSeries);
    em.persist(productFamily);
    em.persist(productModel);
    utx.commit();
    Notebook notebook = new Notebook(display, Desktop.Os.LINUX, cpu, null, gpu, null, 2048, null);
    notebook.add(Desktop.Hdd.SSD_0016);
    notebook.add(Desktop.Hdd.ROTATING_2000);
    notebook.add(Desktop.Odd.DVD_ROM);
    notebook.setExtras(ProductSpec.Extra.E_SATA, ProductSpec.Extra.HIGHT_CHANGEABLE);
    notebook.setPartNo("LX.ASDFG.GHJ");
    notebook.setModel(productModel);
    ProductSpec testSpec = productLogic.create(notebook, productModel, 0);
    assertThat(testSpec).isNotNull();
}
Also used : ProductFamily(eu.ggnet.dwoss.spec.ee.entity.ProductFamily) Notebook(eu.ggnet.dwoss.spec.ee.entity.Notebook) Cpu(eu.ggnet.dwoss.spec.ee.entity.piece.Cpu) ProductSeries(eu.ggnet.dwoss.spec.ee.entity.ProductSeries) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) Gpu(eu.ggnet.dwoss.spec.ee.entity.piece.Gpu) ProductModel(eu.ggnet.dwoss.spec.ee.entity.ProductModel) Display(eu.ggnet.dwoss.spec.ee.entity.piece.Display) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 7 with Notebook

use of eu.ggnet.dwoss.spec.ee.entity.Notebook in project dwoss by gg-net.

the class SpecTest method testNotebook.

@Test
public void testNotebook() {
    Notebook notebook = new Notebook();
    notebook.setColor(BasicSpec.Color.RED);
    notebook.setModel(basicSpec.getModel());
    notebook.setPartNo(basicSpec.getPartNo());
    notebook.setComment("TestBasicNotebook");
    notebook.setExtras(ProductSpec.Extra.KAMERA, ProductSpec.Extra.CONVERTABLE);
    notebook.setDisplay(new Display(Display.Size._10_1, Display.Resolution.VGA, Display.Type.MATT, Display.Ration.FOUR_TO_THREE));
    desktop.add(Desktop.Hdd.SSD_0016);
    notebook.add(Desktop.Odd.DVD_ROM);
    notebook.setMemory(4096);
    notebook.setOs(Desktop.Os.WINDOWS_7_STARTER_32);
    notebook.setGpu(new Gpu(Gpu.Type.MOBILE, Gpu.Series.GEFORCE_300, "TestNotebookGPU"));
    notebook.setCpu(new Cpu(Cpu.Series.CORE_I7, "TestDesktopCPU", Cpu.Type.DESKTOP, 2.4, 4));
    Set<ProductSpec.Extra> extras = EnumSet.noneOf(ProductSpec.Extra.class);
    extras.add(ProductSpec.Extra.USB_3);
    extras.add(ProductSpec.Extra.UMTS);
    notebook.setExtras(extras);
    assertTrue("ViolationException: Notebook look like this: " + notebook.toString() + "\nViolations: " + ConstraintViolationFormater.toSingleLine(validator.validate(notebook)), validator.validate(notebook).isEmpty());
}
Also used : Notebook(eu.ggnet.dwoss.spec.ee.entity.Notebook) Cpu(eu.ggnet.dwoss.spec.ee.entity.piece.Cpu) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) Gpu(eu.ggnet.dwoss.spec.ee.entity.piece.Gpu) Display(eu.ggnet.dwoss.spec.ee.entity.piece.Display)

Aggregations

Notebook (eu.ggnet.dwoss.spec.ee.entity.Notebook)7 Cpu (eu.ggnet.dwoss.spec.ee.entity.piece.Cpu)7 Display (eu.ggnet.dwoss.spec.ee.entity.piece.Display)7 Gpu (eu.ggnet.dwoss.spec.ee.entity.piece.Gpu)7 ProductFamily (eu.ggnet.dwoss.spec.ee.entity.ProductFamily)6 ProductModel (eu.ggnet.dwoss.spec.ee.entity.ProductModel)6 ProductSeries (eu.ggnet.dwoss.spec.ee.entity.ProductSeries)6 Test (org.junit.Test)6 ProductSpec (eu.ggnet.dwoss.spec.ee.entity.ProductSpec)5 Desktop (eu.ggnet.dwoss.spec.ee.entity.Desktop)1 DesktopBundle (eu.ggnet.dwoss.spec.ee.entity.DesktopBundle)1 Monitor (eu.ggnet.dwoss.spec.ee.entity.Monitor)1 Product (eu.ggnet.dwoss.uniqueunit.ee.entity.Product)1 Validator (javax.validation.Validator)1 Ignore (org.junit.Ignore)1