@Test
  public void testUpdateDataElementGroup() {
    DataElementGroup dataElementGroupA = new DataElementGroup("DataElementGroupA");
    DataElementGroup dataElementGroupB = new DataElementGroup("DataElementGroupB");
    DataElementGroup dataElementGroupC = new DataElementGroup("DataElementGroupC");

    int idA = dataElementGroupStore.save(dataElementGroupA);
    int idB = dataElementGroupStore.save(dataElementGroupB);
    int idC = dataElementGroupStore.save(dataElementGroupC);

    dataElementGroupA = dataElementGroupStore.get(idA);
    assertNotNull(dataElementGroupA);
    assertEquals(idA, dataElementGroupA.getId());
    assertEquals("DataElementGroupA", dataElementGroupA.getName());

    dataElementGroupA.setName("DataElementGroupAA");
    dataElementGroupStore.update(dataElementGroupA);

    dataElementGroupA = dataElementGroupStore.get(idA);
    assertNotNull(dataElementGroupA);
    assertEquals(idA, dataElementGroupA.getId());
    assertEquals("DataElementGroupAA", dataElementGroupA.getName());

    dataElementGroupB = dataElementGroupStore.get(idB);
    assertNotNull(dataElementGroupB);
    assertEquals(idB, dataElementGroupB.getId());
    assertEquals("DataElementGroupB", dataElementGroupB.getName());

    dataElementGroupC = dataElementGroupStore.get(idC);
    assertNotNull(dataElementGroupC);
    assertEquals(idC, dataElementGroupC.getId());
    assertEquals("DataElementGroupC", dataElementGroupC.getName());
  }
  @Test
  public void testAddDataElementGroup() {
    DataElementGroup dataElementGroupA = new DataElementGroup("DataElementGroupA");
    DataElementGroup dataElementGroupB = new DataElementGroup("DataElementGroupB");
    DataElementGroup dataElementGroupC = new DataElementGroup("DataElementGroupC");
    DataElementGroup dataElementGroupD = new DataElementGroup("DataElementGroupA");

    int idA = dataElementGroupStore.save(dataElementGroupA);
    int idB = dataElementGroupStore.save(dataElementGroupB);
    int idC = dataElementGroupStore.save(dataElementGroupC);

    try {
      // Should give unique constraint violation
      dataElementGroupStore.save(dataElementGroupD);
      fail();
    } catch (Exception e) {
      // Expected
    }

    dataElementGroupA = dataElementGroupStore.get(idA);
    assertNotNull(dataElementGroupA);
    assertEquals(idA, dataElementGroupA.getId());
    assertEquals("DataElementGroupA", dataElementGroupA.getName());

    dataElementGroupB = dataElementGroupStore.get(idB);
    assertNotNull(dataElementGroupB);
    assertEquals(idB, dataElementGroupB.getId());
    assertEquals("DataElementGroupB", dataElementGroupB.getName());

    dataElementGroupC = dataElementGroupStore.get(idC);
    assertNotNull(dataElementGroupC);
    assertEquals(idC, dataElementGroupC.getId());
    assertEquals("DataElementGroupC", dataElementGroupC.getName());
  }