use of com.b2international.snowowl.snomed.cis.memory.DefaultSnomedIdentifierService in project snow-owl by b2ihealthcare.
the class DefaultSnomedIdentifierServiceRegressionTest method issue_SO_2138_testCoveringReservedRanges.
@Test(expected = IllegalArgumentException.class)
public void issue_SO_2138_testCoveringReservedRanges() throws Exception {
final ISnomedIdentifierReservationService reservationService = new SnomedIdentifierReservationServiceImpl();
reservationService.create("nothingAboveOneHundredNinetyNine", Reservations.range(200L, 8999_9999_9999_999L, null, ImmutableSet.of(ComponentCategory.CONCEPT)));
reservationService.create("nothingBelowOneHundredNinetyNine", Reservations.range(100L, 198L, null, ImmutableSet.of(ComponentCategory.CONCEPT)));
final ItemIdGenerationStrategy idGenerationStrategy = new SequentialItemIdGenerationStrategy(reservationService);
final ISnomedIdentifierService identifiers = new DefaultSnomedIdentifierService(store, idGenerationStrategy, reservationService, new SnomedIdentifierConfiguration());
identifiers.register(ImmutableSet.of("198007"));
assertEquals("199004", Iterables.getOnlyElement(identifiers.generate(INT_NAMESPACE, ComponentCategory.CONCEPT, 1)));
// This attempt should not be able to generate any other value
System.err.println(identifiers.generate(INT_NAMESPACE, ComponentCategory.CONCEPT, 1));
}
use of com.b2international.snowowl.snomed.cis.memory.DefaultSnomedIdentifierService in project snow-owl by b2ihealthcare.
the class DefaultSnomedIdentifierServiceRegressionTest method issue_SO_2138_testItemIdWraparound.
@Test
public void issue_SO_2138_testItemIdWraparound() throws Exception {
final ISnomedIdentifierReservationService reservationService = new SnomedIdentifierReservationServiceImpl();
final SequentialItemIdGenerationStrategy idGenerationStrategy = new SequentialItemIdGenerationStrategy(reservationService);
idGenerationStrategy.getOrCreateCounter(INT_NAMESPACE, ComponentCategory.CONCEPT).setCounter(999999999999999L);
final ISnomedIdentifierService identifiers = new DefaultSnomedIdentifierService(store, idGenerationStrategy, reservationService, new SnomedIdentifierConfiguration());
// Register a few existing SCTIDs to see if sorting works
identifiers.register(ImmutableSet.of("999999999999997008", "999999999999998003", "100005", "101009"));
List<String> actualIds = ImmutableList.copyOf(identifiers.generate(INT_NAMESPACE, ComponentCategory.CONCEPT, 2));
List<String> expectedIds = ImmutableList.of("102002", "103007");
assertEquals(expectedIds, actualIds);
}
Aggregations