Пример #1
0
  @Override
  @Before
  public void setUp() throws Exception {
    super.setUp();

    parentSpc = SpecimenHelper.addParentSpecimen();
    site = SiteHelper.addSite("testsite" + r.nextInt());
    ContainerTypeWrapper typeChild =
        ContainerTypeHelper.addContainerType(
            site, "ctTypeChild" + r.nextInt(), "ctChild", 1, 4, 5, false);
    typeChild.addToSpecimenTypeCollection(
        Arrays.asList(
            DbHelper.chooseRandomlyInList(
                SpecimenTypeWrapper.getAllSpecimenTypes(appService, false))));
    typeChild.persist();

    ContainerTypeWrapper topType =
        ContainerTypeHelper.addContainerType(site, "topType" + r.nextInt(), "ct", 1, 4, 5, true);
    topType.addToChildContainerTypeCollection(Arrays.asList(typeChild));
    topType.persist();

    topContainer = ContainerHelper.addContainer("top" + r.nextInt(), "cc", site, topType);

    ContainerWrapper container =
        ContainerHelper.addContainer(null, "2nd", topContainer, site, typeChild, 3, 3);

    childSpc = SpecimenHelper.addSpecimens(parentSpc, container, 0, 0, 1).get(0);
  }
Пример #2
0
 @Test
 public void testResetNew() throws Exception {
   SpecimenWrapper newSpec = SpecimenHelper.newSpecimen(parentSpc.getSpecimenType());
   newSpec.setInventoryId("toto");
   newSpec.reset();
   Assert.assertEquals(null, newSpec.getInventoryId());
 }
Пример #3
0
  @Test
  public void testCompareTo() throws BiobankCheckException, Exception {
    parentSpc.setInventoryId("defgh");
    parentSpc.persist();
    SpecimenWrapper sample2 =
        SpecimenHelper.newSpecimen(
            parentSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            2,
            3);
    sample2.setInventoryId("awert");
    sample2.persist();
    Assert.assertTrue(parentSpc.compareTo(sample2) > 0);

    sample2.setInventoryId("qwerty");
    sample2.persist();
    Assert.assertTrue(parentSpc.compareTo(sample2) < 0);

    SpecimenBaseWrapper sb = new SpecimenBaseWrapper(appService);
    Assert.assertEquals(0, parentSpc.compareTo(sb));

    // test with a position because compare with position in this case:
    // childSpc is in topD4B1
    // sample2 is in topD4C4
    Assert.assertTrue(childSpc.compareTo(sample2) < 0);
  }
Пример #4
0
  @Test
  public void testPersistPositionAlreadyUsed() throws BiobankCheckException, Exception {
    parentSpc.persist();
    RowColPos pos = childSpc.getPosition();

    SpecimenWrapper duplicate =
        SpecimenHelper.newSpecimen(
            parentSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            pos.getRow(),
            pos.getCol());

    try {
      duplicate.persist();
      Assert.fail("should not be allowed to add an specimen in a position that is not empty");
    } catch (BiobankSessionException bce) {
      Assert.assertTrue(true);
    }

    duplicate.setParent(duplicate.getParentContainer(), new RowColPos(2, 3));
    duplicate.persist();

    duplicate.setInventoryId(Utils.getRandomString(5));
    duplicate.persist();
  }
Пример #5
0
  @Test
  public void testPersistCheckInventoryIdUniqueCaseSensitive()
      throws BiobankCheckException, Exception {
    int i = r.nextInt();
    parentSpc.setInventoryId("toto" + i);
    parentSpc.persist();

    SpecimenWrapper duplicate =
        SpecimenHelper.newSpecimen(
            parentSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            2,
            2);
    duplicate.setInventoryId("toto" + i);

    try {
      duplicate.persist();
      Assert.fail("same inventory id !");
    } catch (DuplicatePropertySetException dee) {
      Assert.assertTrue(true);
    }

    duplicate.setInventoryId("TOTO" + r.nextInt());
    duplicate.persist();
  }
Пример #6
0
  @Test
  public void testPersistCheckInventoryIdUnique() throws BiobankCheckException, Exception {

    SpecimenWrapper duplicate =
        SpecimenHelper.newSpecimen(
            parentSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            2,
            2);
    duplicate.setInventoryId(parentSpc.getInventoryId());

    try {
      duplicate.persist();
      Assert.fail("same inventory id !");
    } catch (DuplicatePropertySetException e) {
      Assert.assertTrue(true);
    }
    duplicate.setInventoryId("qqqq" + r.nextInt());
    duplicate.persist();

    duplicate.setInventoryId(parentSpc.getInventoryId());
    try {
      duplicate.persist();
      Assert.fail(
          "still can't save it with  the same inventoryId after a first add with anotehr inventoryId!");
    } catch (DuplicatePropertySetException e) {
      Assert.assertTrue(true);
    }
  }
Пример #7
0
  @Test
  public void testGetSpecimensInSiteWithPositionLabel() throws Exception {
    ContainerWrapper container = childSpc.getParentContainer();
    ContainerTypeWrapper containerType = container.getContainerType();
    SpecimenTypeWrapper sampleType = containerType.getSpecimenTypeCollection(false).get(0);
    Assert.assertNotNull(sampleType);
    childSpc.setInventoryId(Utils.getRandomString(5));
    childSpc.persist();

    SpecimenHelper.newSpecimen(
        childSpc,
        childSpc.getSpecimenType(),
        ActivityStatus.ACTIVE,
        childSpc.getProcessingEvent(),
        childSpc.getParentContainer(),
        0,
        1);

    SpecimenHelper.newSpecimen(
        childSpc,
        childSpc.getSpecimenType(),
        ActivityStatus.ACTIVE,
        childSpc.getProcessingEvent(),
        childSpc.getParentContainer(),
        1,
        0);

    childSpc =
        SpecimenHelper.newSpecimen(
            childSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            0,
            2);
    childSpc.setInventoryId(Utils.getRandomString(5));
    childSpc.persist();

    List<SpecimenWrapper> specimens =
        SpecimenWrapper.getSpecimensInSiteWithPositionLabel(
            appService, site, childSpc.getPositionString(true, false));
    Assert.assertEquals(1, specimens.size());
    Assert.assertEquals(specimens.get(0), childSpc);
  }
Пример #8
0
  @Test
  public void testGetSpecimensNonActive() throws Exception {
    ContainerWrapper container = childSpc.getParentContainer();
    ContainerTypeWrapper containerType = container.getContainerType();
    SpecimenTypeWrapper sampleType = containerType.getSpecimenTypeCollection(false).get(0);
    Assert.assertNotNull(sampleType);

    ActivityStatus activityStatusNonActive = ActivityStatus.CLOSED;

    List<SpecimenWrapper> activeSpecimens = new ArrayList<SpecimenWrapper>();
    List<SpecimenWrapper> nonActiveSpecimens = new ArrayList<SpecimenWrapper>();

    activeSpecimens.add(childSpc);
    for (int i = 1, n = container.getColCapacity(); i < n; ++i) {
      activeSpecimens.add(
          SpecimenHelper.newSpecimen(
              parentSpc,
              childSpc.getSpecimenType(),
              ActivityStatus.ACTIVE,
              childSpc.getProcessingEvent(),
              childSpc.getParentContainer(),
              0,
              i));

      SpecimenWrapper a =
          SpecimenHelper.newSpecimen(
              parentSpc,
              childSpc.getSpecimenType(),
              ActivityStatus.ACTIVE,
              childSpc.getProcessingEvent(),
              childSpc.getParentContainer(),
              1,
              i);
      a.setActivityStatus(activityStatusNonActive);
      a.persist();
      nonActiveSpecimens.add(a);
    }

    List<SpecimenWrapper> specimens =
        SpecimenWrapper.getSpecimensNonActiveInCenter(appService, site);
    Assert.assertEquals(nonActiveSpecimens.size(), specimens.size());
    Assert.assertTrue(specimens.containsAll(nonActiveSpecimens));
    Assert.assertFalse(specimens.containsAll(activeSpecimens));
  }
Пример #9
0
  @Test
  public void testGetCenterString() throws Exception {
    String name = "testGetCenterString" + r.nextInt();
    ClinicWrapper clinic = ClinicHelper.addClinic(name);
    StudyWrapper study = StudyHelper.addStudy(name);
    PatientWrapper patient = PatientHelper.addPatient(name, study);

    SpecimenWrapper spc = SpecimenHelper.addParentSpecimen(clinic, study, patient);

    Assert.assertTrue(spc.getCenterString().equals(clinic.getNameShort()));

    spc.setCurrentCenter(null);
    spc.persist();
    Assert.assertFalse(spc.getCenterString().equals(clinic.getNameShort()));
    Assert.assertNotNull(spc.getCenterString());
    Assert.assertFalse("".equals(spc.getCenterString()));
  }
Пример #10
0
  @Test
  public void testCheckInventoryIdUnique() throws BiobankCheckException, Exception {
    SpecimenWrapper duplicate =
        SpecimenHelper.newSpecimen(
            parentSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            2,
            2);

    duplicate.setInventoryId(parentSpc.getInventoryId());
    try {
      duplicate.checkInventoryIdUnique();
      Assert.fail("The check should detect that this is the same");
    } catch (DuplicateEntryException e) {
      Assert.assertTrue(true);
    }
  }
Пример #11
0
  @Test
  public void testDebugRandomMethods() throws Exception {
    System.out.println(parentSpc.getProcessingEvent());
    System.out.println(childSpc.getProcessingEvent());

    ContainerWrapper container = childSpc.getParentContainer();
    ContainerTypeWrapper containerType = container.getContainerType();
    SpecimenTypeWrapper spcType = containerType.getSpecimenTypeCollection(false).get(0);
    Assert.assertNotNull(spcType);

    System.out.println(parentSpc.getProcessingEvent());
    System.out.println(childSpc.getProcessingEvent());

    ProcessingEventWrapper pevent =
        ProcessingEventHelper.addProcessingEvent(
            childSpc.getCurrentCenter(), Utils.getRandomDate());

    // add aliquoted specimen
    SpecimenWrapper specimen =
        SpecimenHelper.newSpecimen(
            parentSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            2,
            3);
    specimen.setInventoryId(Utils.getRandomString(5));
    specimen.persist();

    pevent.addToSpecimenCollection(Arrays.asList(parentSpc));
    pevent.persist();

    SpecimenWrapper s2 =
        SpecimenHelper.newSpecimen(
            childSpc,
            childSpc.getSpecimenType(),
            ActivityStatus.ACTIVE,
            childSpc.getProcessingEvent(),
            childSpc.getParentContainer(),
            2,
            4);
    s2.setParent(null, null);
    s2.setParentSpecimen(null);
    s2.persist();

    try {
      // should find at least one specimen with a parent that is inside a
      // processing event
      Assert.assertTrue(
          DebugUtil.getRandomLinkedAliquotedSpecimens(appService, site.getId()).size() > 0);
      Assert.assertTrue(DebugUtil.getRandomAssignedSpecimens(appService, site.getId()).size() > 0);
      List<SpecimenWrapper> randomNonAssociatedNonDispatchedSpecimens =
          DebugUtil.getRandomNonAssignedNonDispatchedSpecimens(appService, site.getId(), 10);
      Assert.assertTrue(randomNonAssociatedNonDispatchedSpecimens.size() > 0);
    } catch (Exception e) {
      Assert.fail(e.getCause().getMessage());
    }

    try {
      s2.delete();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }