def test_expected_input(self):
     cats = iTol.gather_categories(self.imap, self.header, self.categories)
     expected = {'healthy_smoker':iTol.DataCategory({'SID1'},{}),
                 'pm_smoker':iTol.DataCategory({'SID2'},{}),
                 'pi_smoker':iTol.DataCategory({'SID3'},{}),
                 'healthy_ns':iTol.DataCategory({'SID5'},{}),
                 'pm_ns':iTol.DataCategory({'SID7'},{}),
                 'pi_ns':iTol.DataCategory({'SID8'},{})}
     self.assertDictContainsSubset(expected, cats)
 def test_no_categories(self):
     cats = iTol.gather_categories(self.imap, self.header, ['Treatment'])
     self.assertEqual(len(cats), 1, msg='Result should have only 1 entry')
     self.assertIn('default', cats, msg='key "default" not found in result')