1818import com .imsweb .seerapi .client .staging .cs .CsStagingData ;
1919import com .imsweb .seerapi .client .staging .cs .CsStagingData .CsInput ;
2020import com .imsweb .seerapi .client .staging .cs .CsStagingData .CsStagingInputBuilder ;
21+ import com .imsweb .seerapi .client .staging .tnm .TnmStagingData ;
22+ import com .imsweb .seerapi .client .staging .tnm .TnmStagingData .TnmInput ;
23+ import com .imsweb .seerapi .client .staging .tnm .TnmStagingData .TnmOutput ;
24+ import com .imsweb .seerapi .client .staging .tnm .TnmStagingData .TnmStagingInputBuilder ;
2125
2226import static com .imsweb .seerapi .client .staging .cs .CsStagingData .CsOutput .AJCC6_M ;
2327import static com .imsweb .seerapi .client .staging .cs .CsStagingData .CsOutput .AJCC6_MDESCRIPTOR ;
@@ -185,6 +189,52 @@ public void testTableInvoledSchemas() throws IOException {
185189 assertThat (schemas ).isNotEmpty ();
186190 }
187191
192+ @ Test
193+ public void testCsInputBuilder () {
194+ CsStagingData data1 = new CsStagingData ();
195+ data1 .setInput (CsInput .PRIMARY_SITE , "C680" );
196+ data1 .setInput (CsInput .HISTOLOGY , "8000" );
197+ data1 .setInput (CsInput .BEHAVIOR , "3" );
198+ data1 .setInput (CsInput .GRADE , "9" );
199+ data1 .setInput (CsInput .DX_YEAR , "2013" );
200+ data1 .setInput (CsInput .CS_VERSION_ORIGINAL , "020550" );
201+ data1 .setInput (CsInput .TUMOR_SIZE , "075" );
202+ data1 .setInput (CsInput .EXTENSION , "100" );
203+ data1 .setInput (CsInput .EXTENSION_EVAL , "9" );
204+ data1 .setInput (CsInput .LYMPH_NODES , "100" );
205+ data1 .setInput (CsInput .LYMPH_NODES_EVAL , "9" );
206+ data1 .setInput (CsInput .REGIONAL_NODES_POSITIVE , "99" );
207+ data1 .setInput (CsInput .REGIONAL_NODES_EXAMINED , "99" );
208+ data1 .setInput (CsInput .METS_AT_DX , "10" );
209+ data1 .setInput (CsInput .METS_EVAL , "9" );
210+ data1 .setInput (CsInput .LVI , "9" );
211+ data1 .setInput (CsInput .AGE_AT_DX , "060" );
212+ data1 .setSsf (1 , "020" );
213+
214+ CsStagingData data2 = new CsStagingInputBuilder ()
215+ .withInput (CsStagingData .CsInput .PRIMARY_SITE , "C680" )
216+ .withInput (CsStagingData .CsInput .HISTOLOGY , "8000" )
217+ .withInput (CsStagingData .CsInput .BEHAVIOR , "3" )
218+ .withInput (CsStagingData .CsInput .GRADE , "9" )
219+ .withInput (CsStagingData .CsInput .DX_YEAR , "2013" )
220+ .withInput (CsStagingData .CsInput .CS_VERSION_ORIGINAL , "020550" )
221+ .withInput (CsStagingData .CsInput .TUMOR_SIZE , "075" )
222+ .withInput (CsStagingData .CsInput .EXTENSION , "100" )
223+ .withInput (CsStagingData .CsInput .EXTENSION_EVAL , "9" )
224+ .withInput (CsStagingData .CsInput .LYMPH_NODES , "100" )
225+ .withInput (CsStagingData .CsInput .LYMPH_NODES_EVAL , "9" )
226+ .withInput (CsStagingData .CsInput .REGIONAL_NODES_POSITIVE , "99" )
227+ .withInput (CsStagingData .CsInput .REGIONAL_NODES_EXAMINED , "99" )
228+ .withInput (CsStagingData .CsInput .METS_AT_DX , "10" )
229+ .withInput (CsStagingData .CsInput .METS_EVAL , "9" )
230+ .withInput (CsStagingData .CsInput .LVI , "9" )
231+ .withInput (CsStagingData .CsInput .AGE_AT_DX , "060" )
232+ .withSsf (1 , "020" )
233+ .build ();
234+
235+ assertThat (data1 .getInput ()).isEqualTo (data2 .getInput ());
236+ }
237+
188238 @ Test
189239 public void testCsStaging () throws IOException {
190240 CsStagingData data = new CsStagingInputBuilder ()
@@ -209,7 +259,7 @@ public void testCsStaging() throws IOException {
209259 .build ();
210260
211261 // perform the staging
212- StagingData output = _STAGING .stage (_ALGORITHM , _VERSION , data .getInput ()).execute ().body ();
262+ StagingData output = _STAGING .stage ("cs" , "02.05.50" , data .getInput ()).execute ().body ();
213263
214264 assertThat (output ).isNotNull ();
215265 assertThat (output .getResult ()).isEqualTo (StagingData .Result .STAGED );
@@ -266,6 +316,91 @@ public void testCsStaging() throws IOException {
266316 assertThat (output .getOutput (STOR_SS2000_STAGE .toString ())).isEqualTo ("7" );
267317 }
268318
319+ @ Test
320+ public void testTnmInputBuilder () {
321+ TnmStagingData data1 = new TnmStagingData ();
322+ data1 .setInput (TnmInput .PRIMARY_SITE , "C680" );
323+ data1 .setInput (TnmInput .HISTOLOGY , "8000" );
324+ data1 .setInput (TnmInput .BEHAVIOR , "3" );
325+ data1 .setInput (TnmInput .GRADE , "9" );
326+ data1 .setInput (TnmInput .DX_YEAR , "2013" );
327+ data1 .setInput (TnmInput .REGIONAL_NODES_POSITIVE , "99" );
328+ data1 .setInput (TnmInput .AGE_AT_DX , "060" );
329+ data1 .setInput (TnmInput .SEX , "1" );
330+ data1 .setInput (TnmInput .RX_SUMM_SURGERY , "8" );
331+ data1 .setInput (TnmInput .RX_SUMM_RADIATION , "9" );
332+ data1 .setInput (TnmInput .CLIN_T , "1" );
333+ data1 .setInput (TnmInput .CLIN_N , "2" );
334+ data1 .setInput (TnmInput .CLIN_M , "3" );
335+ data1 .setInput (TnmInput .PATH_T , "4" );
336+ data1 .setInput (TnmInput .PATH_N , "5" );
337+ data1 .setInput (TnmInput .PATH_M , "6" );
338+ data1 .setSsf (1 , "020" );
339+
340+ TnmStagingData data2 = new TnmStagingData .TnmStagingInputBuilder ()
341+ .withInput (TnmInput .PRIMARY_SITE , "C680" )
342+ .withInput (TnmInput .HISTOLOGY , "8000" )
343+ .withInput (TnmInput .BEHAVIOR , "3" )
344+ .withInput (TnmInput .GRADE , "9" )
345+ .withInput (TnmInput .DX_YEAR , "2013" )
346+ .withInput (TnmInput .REGIONAL_NODES_POSITIVE , "99" )
347+ .withInput (TnmInput .AGE_AT_DX , "060" )
348+ .withInput (TnmInput .SEX , "1" )
349+ .withInput (TnmInput .RX_SUMM_SURGERY , "8" )
350+ .withInput (TnmInput .RX_SUMM_RADIATION , "9" )
351+ .withInput (TnmInput .CLIN_T , "1" )
352+ .withInput (TnmInput .CLIN_N , "2" )
353+ .withInput (TnmInput .CLIN_M , "3" )
354+ .withInput (TnmInput .PATH_T , "4" )
355+ .withInput (TnmInput .PATH_N , "5" )
356+ .withInput (TnmInput .PATH_M , "6" )
357+ .withSsf (1 , "020" ).build ();
358+
359+ assertThat (data1 .getInput ()).isEqualTo (data2 .getInput ());
360+ }
361+
362+ @ Test
363+ public void testTnmStaging () throws IOException {
364+ TnmStagingData data = new TnmStagingInputBuilder ()
365+ .withInput (TnmInput .PRIMARY_SITE , "C680" )
366+ .withInput (TnmInput .HISTOLOGY , "8000" )
367+ .withInput (TnmInput .BEHAVIOR , "3" )
368+ .withInput (TnmInput .DX_YEAR , "2016" )
369+ .withInput (TnmInput .RX_SUMM_SURGERY , "2" )
370+ .withInput (TnmInput .RX_SUMM_RADIATION , "4" )
371+ .withInput (TnmInput .REGIONAL_NODES_POSITIVE , "02" )
372+ .withInput (TnmInput .CLIN_T , "c0" )
373+ .withInput (TnmInput .CLIN_N , "c1" )
374+ .withInput (TnmInput .CLIN_M , "c0" )
375+ .withInput (TnmInput .PATH_T , "p0" )
376+ .withInput (TnmInput .PATH_N , "p1" )
377+ .withInput (TnmInput .PATH_M , "p1" )
378+ .build ();
379+
380+ // perform the staging
381+ StagingData output = _STAGING .stage ("tnm" , "1.9" , data .getInput ()).execute ().body ();
382+
383+ // check output
384+ assertThat (output ).isNotNull ();
385+ assertThat (output .getResult ()).isEqualTo (StagingData .Result .STAGED );
386+ assertThat (output .getSchemaId ()).isEqualTo ("urethra" );
387+ assertThat (output .getErrors ()).isEmpty ();
388+ assertThat (output .getPath ()).hasSize (25 );
389+ assertThat (output .getOutput ()).hasSize (10 );
390+
391+ // check outputs
392+ assertThat (output .getOutput (TnmOutput .DERIVED_VERSION .toString ())).isEqualTo ("1.9" );
393+ assertThat (output .getOutput (TnmOutput .CLIN_STAGE_GROUP .toString ())).isEqualTo ("3" );
394+ assertThat (output .getOutput (TnmOutput .PATH_STAGE_GROUP .toString ())).isEqualTo ("4" );
395+ assertThat (output .getOutput (TnmOutput .COMBINED_STAGE_GROUP .toString ())).isEqualTo ("4" );
396+ assertThat (output .getOutput (TnmOutput .COMBINED_T .toString ())).isEqualTo ("c0" );
397+ assertThat (output .getOutput (TnmOutput .SOURCE_T .toString ())).isEqualTo ("1" );
398+ assertThat (output .getOutput (TnmOutput .COMBINED_N .toString ())).isEqualTo ("c1" );
399+ assertThat (output .getOutput (TnmOutput .SOURCE_N .toString ())).isEqualTo ("1" );
400+ assertThat (output .getOutput (TnmOutput .COMBINED_M .toString ())).isEqualTo ("p1" );
401+ assertThat (output .getOutput (TnmOutput .SOURCE_M .toString ())).isEqualTo ("2" );
402+ }
403+
269404 @ Test
270405 public void testStagingWithErrors () throws IOException {
271406 StagingData data = new StagingData ();
0 commit comments