예제 #1
0
 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))
예제 #2
0
 def test_int_indexer_short_4(self):
     expected = pandas.Series(['P8', 'Rest'], index=[0.0, 0.25], name='0,1')
     not_processed = [[(0.0, 'G4'), (0.25, 'Rest')], [(0.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))
예제 #3
0
 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))
예제 #4
0
 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))
예제 #5
0
 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))
예제 #6
0
 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))
예제 #7
0
 def test_int_ind_indexer_init_14(self):
     int_indexer = IntervalIndexer([], {'quality': 'chromatic', 'simple or compound': 'compound', 'directed': False})
     self.assertEqual(int_indexer._indexer_func.__name__, 'indexer_chr_und_com')
예제 #8
0
 def test_int_ind_indexer_init_13(self):
     int_indexer_1 = IntervalIndexer([], {'quality': True, 'simple or compound': 'compound', 'directed': False})
     int_indexer_2 = IntervalIndexer([], {'quality': 'diatonic with quality', 'simple or compound': 'compound', 'directed': False})
     self.assertEqual(int_indexer_1._indexer_func.__name__, 'indexer_dwq_und_com')
     self.assertEqual(int_indexer_2._indexer_func.__name__, 'indexer_dwq_und_com')
예제 #9
0
 def test_int_ind_indexer_init_7(self):
     int_indexer = IntervalIndexer([], {'quality': 'interval class', 'simple or compound': 'simple', 'directed': False})
     self.assertEqual(int_indexer._indexer_func.__name__, 'indexer_icl_und_sim')
예제 #10
0
 def test_int_ind_indexer_init_4(self):
     int_indexer_1 = IntervalIndexer([], {'quality': False, 'simple or compound': 'simple', 'directed': False})
     int_indexer_2 = IntervalIndexer([], {'quality': 'diatonic no quality', 'simple or compound': 'simple', 'directed': False})
     self.assertEqual(int_indexer_1._indexer_func.__name__, 'indexer_dnq_und_sim')
     self.assertEqual(int_indexer_2._indexer_func.__name__, 'indexer_dnq_und_sim')