def test_interval_indexer_1(self):
     # BWV7.7: full soprano and bass parts
     test_parts = pandas.concat([self.bwv77_soprano, self.bwv77_bass],
                                axis=1)
     test_parts.columns = pandas.MultiIndex.from_product([('A', ),
                                                          ('a', 'b')])
     expected = make_series(TestIntervalIndexerLong.bwv77_S_B_basis)
     setts = {'simple or compound': 'compound', 'quality': True}
     actual = IntervalIndexer(test_parts, setts).run().iloc[:, 0]
     self.assertTrue(actual.equals(expected))
 def test_interval_indexer_4(self):
     # BWV7.7: small soprano and bass parts; "simple" in settings, "quality" not
     test_parts = pandas.concat([self.bwv77_s_small, self.bwv77_b_small],
                                axis=1)
     test_parts.columns = pandas.MultiIndex.from_product([('A', ),
                                                          ('a', 'b')])
     expected = make_series(
         TestIntervalIndexerLong.bwv77_S_B_small_simple_noqual)
     setts = {'simple or compound': 'simple'}
     actual = IntervalIndexer(test_parts, setts).run().iloc[:, 0]
     self.assertTrue(actual.equals(expected))
 def test_interval_indexer_3(self):
     # BWV7.7: small soprano and bass parts; "simple" and "quality" not in settings, and the
     # settings are in fact not specified
     test_parts = pandas.concat([self.bwv77_s_small, self.bwv77_b_small],
                                axis=1)
     test_parts.columns = pandas.MultiIndex.from_product([('A', ),
                                                          ('a', 'b')])
     expected = make_series(
         TestIntervalIndexerLong.bwv77_S_B_small_compound_noqual)
     # setts = {}
     actual = IntervalIndexer(test_parts).run().iloc[:, 0]
     self.assertTrue(actual.equals(expected))
 def test_int_indexer_short_3(self):
     expected = pandas.Series(['P8', 'Rest'], index=[0.0, 0.25], name='0,1')
     not_processed = [[(0.0, 'G4')], [(0.0, 'G3'), (0.25, 'Rest')]]
     test_in = pandas_maker(not_processed)
     test_in.columns = pandas.MultiIndex.from_product([('notes', ),
                                                       ('0', '1')])
     setts = {
         'quality': True,
         'simple or compound': 'compound',
         'directed': True
     }
     actual = IntervalIndexer(test_in, settings=setts).run().iloc[:, 0]
     self.assertTrue(actual.equals(expected))
 def test_int_indexer_short_1(self):
     expected = pandas.Series('P8', name='0,1')
     test_in = pandas.concat(
         [pandas.Series('G4'), pandas.Series('G3')], axis=1)
     test_in.columns = pandas.MultiIndex.from_product([('notes', ),
                                                       ('0', '1')])
     setts = {
         'quality': True,
         'simple or compound': 'compound',
         'directed': True
     }
     actual = IntervalIndexer(test_in, settings=setts).run().iloc[:, 0]
     self.assertTrue(actual.equals(expected))
 def test_int_indexer_short_17(self):
     expected = pandas.Series(
         ['P8', 'P8', 'M10', 'Rest', 'Rest', 'm7', 'M6'],
         index=[.0, .5, .75, 1.125, 1.25, 1.375, 2.0],
         name='0,1')
     not_processed = [[(0.0, 'G4'), (0.5, 'A4', 0.75), (1.25, 'F4', 0.75),
                       (2.0, 'E4')],
                      [(0.0, 'G3'), (0.5, 'A3'), (0.75, 'F3', 0.375),
                       (1.125, 'Rest'), (1.375, 'G3', 0.625), (2.0, 'G3')]]
     test_in = pandas_maker(not_processed)
     test_in.columns = pandas.MultiIndex.from_product([('notes', ),
                                                       ('0', '1')])
     setts = {
         'quality': True,
         'simple or compound': 'compound',
         'directed': True
     }
     actual = IntervalIndexer(test_in, settings=setts).run().iloc[:, 0]
     self.assertTrue(actual.equals(expected))