Class SampleCorrelationAttritionMappingTest
java.lang.Object
ubic.gemma.persistence.service.analysis.expression.sampleCoexpression.SampleCorrelationAttritionMappingTest
Pins the shape of the filter attrition recorded on
SampleCorrelationAnalysisEvent.
Two things here are worth a test rather than a reading. The stage list is an attrition funnel, so its
order is meaning, not presentation -- read out of order the numbers describe a different sequence of filters.
And a stage that did not run still reports a row count: without that, "this filter removed nothing" and "this
filter was skipped" are the same JSON, which is exactly the confusion the applied flag exists to stop.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidThe configuration travels with the counts: the sample-correlation filter is not the one the "filtered" data download runs, so the numbers are not interpretable on their own.voidOnly the outlier stage can drop samples, and the correlation-matrix run deliberately does not mask them -- so a reader has to be able to see that the columns never moved.voidThe aspect writes the payload through the polymorphicAuditEventPayloadtype, so the stored JSON carries a@typediscriminator and a reader has to register the subtype to resolve it.
-
Constructor Details
-
SampleCorrelationAttritionMappingTest
public SampleCorrelationAttritionMappingTest()
-
-
Method Details
-
attritionCarriesEveryStageInTheOrderTheFilterAppliesThem
@Test public void attritionCarriesEveryStageInTheOrderTheFilterAppliesThem() -
onlyTheOutlierStageReportsAColumnCount
@Test public void onlyTheOutlierStageReportsAColumnCount()Only the outlier stage can drop samples, and the correlation-matrix run deliberately does not mask them -- so a reader has to be able to see that the columns never moved. -
configurationTravelsWithTheCounts
@Test public void configurationTravelsWithTheCounts()The configuration travels with the counts: the sample-correlation filter is not the one the "filtered" data download runs, so the numbers are not interpretable on their own. -
payloadRoundTripsThroughTheAuditEventPayloadType
The aspect writes the payload through the polymorphicAuditEventPayloadtype, so the stored JSON carries a@typediscriminator and a reader has to register the subtype to resolve it. Proving the round-trip here means a rename of the record cannot silently strand every row already written under the old name.- Throws:
Exception
-