use of com.b2international.snowowl.snomed.datastore.index.entry.SnomedConceptDocument in project snow-owl by b2ihealthcare.
the class PreferredDescriptionPreCommitHookTest method updateTypeOfConceptDescription.
@Test
public void updateTypeOfConceptDescription() throws Exception {
final SnomedConceptDocument concept = concept().build();
final SnomedDescriptionIndexEntry fsn = fsn(concept.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
initRevisions(docWithDefaults(concept).preferredDescriptions(ImmutableList.of(new SnomedDescriptionFragment(fsn.getId(), fsn.getTypeId(), fsn.getTerm(), Concepts.REFSET_LANGUAGE_TYPE_UK))).build(), fsn);
SnomedDescriptionIndexEntry synonym = SnomedDescriptionIndexEntry.builder(fsn).typeId(Concepts.SYNONYM).build();
stageChange(fsn, synonym);
final ConceptChangeProcessor processor = process();
final SnomedConceptDocument expected = docWithDefaults(concept).preferredDescriptions(ImmutableList.of(new SnomedDescriptionFragment(synonym.getId(), synonym.getTypeId(), synonym.getTerm(), Concepts.REFSET_LANGUAGE_TYPE_UK))).build();
final Revision actual = Iterables.getOnlyElement(processor.getChangedMappings().values()).getNewRevision();
assertDocEquals(expected, actual);
assertEquals(0, processor.getNewMappings().size());
assertEquals(0, processor.getDeletions().size());
}
use of com.b2international.snowowl.snomed.datastore.index.entry.SnomedConceptDocument in project snow-owl by b2ihealthcare.
the class PreferredDescriptionPreCommitHookTest method addTwoConceptsWithNewDescriptions.
@Test
public void addTwoConceptsWithNewDescriptions() throws Exception {
final SnomedConceptDocument concept1 = concept().build();
final SnomedDescriptionIndexEntry fsnOfConcept1 = fsn(concept1.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
final SnomedConceptDocument concept2 = concept().build();
final SnomedDescriptionIndexEntry fsnOfConcept2 = fsn(concept2.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
stageNew(concept1);
stageNew(concept2);
stageNew(fsnOfConcept1);
stageNew(fsnOfConcept2);
ConceptChangeProcessor processor = process();
assertEquals(2, processor.getNewMappings().size());
processor.getNewMappings().values().forEach(newConcept -> {
if (newConcept instanceof SnomedConceptDocument) {
assertThat(((SnomedConceptDocument) newConcept).getPreferredDescriptions()).hasSize(1);
}
});
assertEquals(0, processor.getChangedMappings().size());
assertEquals(0, processor.getDeletions().size());
}
use of com.b2international.snowowl.snomed.datastore.index.entry.SnomedConceptDocument in project snow-owl by b2ihealthcare.
the class PreferredDescriptionPreCommitHookTest method removeSynonymFromExistingConcept.
@Test
public void removeSynonymFromExistingConcept() throws Exception {
final SnomedConceptDocument concept = concept().build();
final SnomedDescriptionIndexEntry synonym = synonym(concept.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
initRevisions(docWithDefaults(concept).preferredDescriptions(ImmutableList.of(new SnomedDescriptionFragment(synonym.getId(), synonym.getTypeId(), synonym.getTerm(), Concepts.REFSET_LANGUAGE_TYPE_UK))).build(), synonym);
stageRemove(synonym);
final ConceptChangeProcessor processor = process();
final SnomedConceptDocument expected = docWithDefaults(concept).build();
final Revision actual = Iterables.getOnlyElement(processor.getChangedMappings().values()).getNewRevision();
assertDocEquals(expected, actual);
assertEquals(0, processor.getNewMappings().size());
assertEquals(0, processor.getDeletions().size());
}
use of com.b2international.snowowl.snomed.datastore.index.entry.SnomedConceptDocument in project snow-owl by b2ihealthcare.
the class PreferredDescriptionPreCommitHookTest method indexConceptWithFsnAndSynonym.
@Test
public void indexConceptWithFsnAndSynonym() throws Exception {
final SnomedConceptDocument concept = concept().build();
final SnomedDescriptionIndexEntry fsn = fsn(concept.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
final SnomedDescriptionIndexEntry synonym = synonym(concept.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
stageNew(concept);
stageNew(fsn);
stageNew(synonym);
final ConceptChangeProcessor processor = process();
final SnomedConceptDocument expected = docWithDefaults(concept).semanticTags(ImmutableSortedSet.of("semantic tag")).preferredDescriptions(ImmutableList.of(new SnomedDescriptionFragment(fsn.getId(), fsn.getTypeId(), fsn.getTerm(), Concepts.REFSET_LANGUAGE_TYPE_UK), new SnomedDescriptionFragment(synonym.getId(), synonym.getTypeId(), synonym.getTerm(), Concepts.REFSET_LANGUAGE_TYPE_UK))).build();
final Revision actual = Iterables.getOnlyElement(processor.getNewMappings().values());
assertDocEquals(expected, actual);
assertEquals(0, processor.getChangedMappings().size());
assertEquals(0, processor.getDeletions().size());
}
use of com.b2international.snowowl.snomed.datastore.index.entry.SnomedConceptDocument in project snow-owl by b2ihealthcare.
the class PreferredDescriptionPreCommitHookTest method indexNewSynonymForExistingConcept.
@Test
public void indexNewSynonymForExistingConcept() throws Exception {
final SnomedConceptDocument concept = concept().build();
initRevisions(docWithDefaults(concept).build());
final SnomedDescriptionIndexEntry synonym = synonym(concept.getId(), Collections.singletonMap(Concepts.REFSET_LANGUAGE_TYPE_UK, Acceptability.PREFERRED));
stageNew(synonym);
final ConceptChangeProcessor processor = process();
final SnomedConceptDocument expected = docWithDefaults(concept).preferredDescriptions(ImmutableList.of(new SnomedDescriptionFragment(synonym.getId(), synonym.getTypeId(), synonym.getTerm(), Concepts.REFSET_LANGUAGE_TYPE_UK))).build();
final Revision actual = Iterables.getOnlyElement(processor.getChangedMappings().values()).getNewRevision();
assertDocEquals(expected, actual);
assertEquals(0, processor.getNewMappings().size());
assertEquals(0, processor.getDeletions().size());
}
Aggregations