Skip to content
This repository has been archived by the owner on Jun 22, 2022. It is now read-only.

Commit

Permalink
Merge pull request #13 from imsweb/lookup-missing-behavior
Browse files Browse the repository at this point in the history
Behavior was missing from allowed lookup fields
  • Loading branch information
ctmay4 authored Dec 13, 2019
2 parents 2e6030d + da90eb2 commit bc93eb8
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/main/java/com/imsweb/staging/eod/EodSchemaLookup.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public class EodSchemaLookup extends SchemaLookup {
EodStagingData.PRIMARY_SITE_KEY,
EodStagingData.HISTOLOGY_KEY,
EodInput.SEX.toString(),
EodInput.BEHAVIOR.toString(),
EodInput.DISCRIMINATOR_1.toString(),
EodInput.DISCRIMINATOR_2.toString())));

Expand Down
37 changes: 37 additions & 0 deletions src/test/java/com/imsweb/staging/StagingTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
import com.imsweb.staging.entities.StagingSchemaInput;
import com.imsweb.staging.entities.StagingTable;
import com.imsweb.staging.entities.StagingTableRow;
import com.imsweb.staging.eod.EodSchemaLookup;
import com.imsweb.staging.eod.EodStagingData;
import com.imsweb.staging.eod.EodStagingData.EodInput;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
Expand Down Expand Up @@ -120,6 +123,27 @@ public void testValidHistology() {
assertThat(_STAGING.isValidHistology("8201")).isTrue();
}

@Test
public void testAllowedFields() {
Set<String> descriminators = new HashSet<>();
descriminators.add(EodStagingData.PRIMARY_SITE_KEY);
descriminators.add(EodStagingData.HISTOLOGY_KEY);

for (String id : _STAGING.getSchemaIds()) {
StagingSchema schema = _STAGING.getSchema(id);
if (schema.getSchemaDiscriminators() != null)
descriminators.addAll(schema.getSchemaDiscriminators());
}

assertThat(descriminators).containsExactlyInAnyOrder(
EodStagingData.PRIMARY_SITE_KEY,
EodStagingData.HISTOLOGY_KEY,
EodInput.SEX.toString(),
EodInput.BEHAVIOR.toString(),
EodInput.DISCRIMINATOR_1.toString(),
EodInput.DISCRIMINATOR_2.toString());
}

@Test
public void testGetTable() {
assertThat(_STAGING.getTable("bad_table_name")).isNull();
Expand Down Expand Up @@ -224,6 +248,19 @@ public void testMappingIdUniqueness() {
assertNoErrors(errors, "input values and their assocated validation tables");
}

@Test
public void testBehaviorDescriminator() {
// test valid combination that requires discriminator and a good discriminator is supplied
EodSchemaLookup lookup = new EodSchemaLookup("C717", "9591");
List<StagingSchema> lookups = _STAGING.lookupSchema(lookup);
assertThat(lookups).hasSize(3);
lookup.setInput(EodInput.DISCRIMINATOR_1.toString(), "1");
lookup.setInput(EodInput.BEHAVIOR.toString(), "3");
lookups = _STAGING.lookupSchema(lookup);
assertThat(lookups).hasSize(1);
assertThat(lookups.get(0).getId()).isEqualTo("hemeretic");
}

/**
* Helper method to assert failures when tracked errors exist
*/
Expand Down

0 comments on commit bc93eb8

Please sign in to comment.