def test_volatility_invalid_columns(self): with self.assertRaisesRegex(ValueError, "peanut is not a column"): volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, metric='observed_otus', group_column='peanut', state_column='month', individual_id_column='studyid', spaghetti='yes')
def test_volatility_invalid_metric(self): with self.assertRaisesRegex(ValueError, "metric must be a valid"): volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, metric='peanut', group_column='delivery', state_column='month', individual_id_column='studyid', spaghetti='yes')
def test_volatility_numeric_group_column(self): with self.assertRaisesRegex(ValueError, 'observed_otu.*not a column'): volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, default_metric='observed_otus', default_group_column='observed_otus', state_column='month', individual_id_column='studyid')
def test_volatility_must_use_unique_columns(self): with self.assertRaisesRegex(ValueError, "set to unique values"): volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, metric='observed_otus', group_column='studyid', state_column='month', individual_id_column='studyid', spaghetti='yes')
def test_volatility_categorical_state_column(self): with self.assertRaisesRegex(TypeError, 'must be numeric'): volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, default_metric='observed_otus', default_group_column='delivery', state_column='delivery', individual_id_column='studyid')
def test_volatility_metric_and_group(self): # Just a simple "does it run?" test. Not much worth testing in terms # of the rendered output - vega does all the heavy lifting for us. volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, default_metric='observed_otus', default_group_column='delivery', state_column='month', individual_id_column='studyid')
def test_volatility(self): volatility(output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, metric='observed_otus', group_column='delivery', state_column='month', individual_id_column='studyid')
def test_volatility_categorical_metric_column(self): with self.assertRaisesRegex(ValueError, 'delivery.*not a column'): volatility(output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, default_metric='delivery', default_group_column='delivery', state_column='month', individual_id_column='studyid')
def test_volatility_invalid_metric(self): with self.assertRaisesRegex(ValueError, "'peanut' is not a column"): volatility(output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, default_metric='peanut', default_group_column='delivery', state_column='month', individual_id_column='studyid')
def test_volatility_table(self): volatility(output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, default_metric='e2c3ff4f647112723741aa72087f1bfa', default_group_column='delivery', state_column='month', individual_id_column='studyid', table=self.table_ecam_fp)
def test_volatility_no_individual_id_column(self): # Just a simple "does it run?" test. # plus make sure spaghetti maker is turned off. volatility(output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, state_column='month') html_path = os.path.join(self.temp_dir.name, 'index.html') with open(html_path, 'r') as f: f = f.read() self.assertNotIn('"spaghettis"', f)
def test_volatility_single_state(self): single_state = self.md_ecam_fp.to_dataframe() single_state = single_state[single_state['month'] == 0] # state_column must contain at least two unique values... with self.assertRaisesRegex(ValueError, "state_column must contain"): volatility( output_dir=self.temp_dir.name, metadata=qiime2.Metadata(single_state), metric='observed_otus', group_column='delivery', state_column='month', individual_id_column='studyid', spaghetti='yes')
def test_volatility(self): # Simultaneously "does it run" viz test # plus make sure spaghetti maker works volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, state_column='month', individual_id_column='studyid') html_path = os.path.join(self.temp_dir.name, 'index.html') with open(html_path, 'r') as f: f = f.read() self.assertIn('"spaghettis"', f) self.assertIn('spaghettiLineThickness', f) self.assertIn('spaghettiLineOpacity', f) self.assertIn('spaghettiSymbolSize', f) self.assertIn('spaghettiSymbolOpacity', f) self.assertIn('#spaghetti-line-thickness', f) self.assertIn('#spaghetti-line-opacity', f) self.assertIn('#spaghetti-symbol-size', f) self.assertIn('#spaghetti-symbol-opacity', f)
def test_volatility_no_spaghetti_no_control(self): volatility( output_dir=self.temp_dir.name, metadata=self.md_ecam_fp, metric='observed_otus', group_column='delivery', state_column='month', individual_id_column='studyid', spaghetti='no', plot_control_limits=False)