def test_mp_indexer_4(self):
     # that a list with two types is properly filtered when it's given as a Stream
     # --> test lengths
     # --> two events at each offset
     actual = indexer.stream_indexer(0, [self.in_stream], verbatim, [base.ElementWrapper])[1]
     self.assertSequenceEqual(list(self.in_series.index), list(actual.index))
     self.assertSequenceEqual(list(self.in_series.values), list(actual.values))
 def test_multi_event_2(self):
     # Test this:
     # offset:  0.0  |  0.5     |  1.0     |  1.5     |  2.0
     # part 1:  [1]  |  [2][6]  |  [3]     |  [4][7]  |  [5][8]
     # part 2:  [1]  |  [2][6]  |  [3][7]  |  [4]     |  [5][8]
     part_1 = stream.Stream()
     for i in xrange(5):
         obj = base.ElementWrapper(i)
         obj.offset = 0.5 * i
         obj.duration = duration.Duration(0.5)
         part_1.append(obj)
     part_2 = stream.Stream()
     for i in xrange(5):
         obj = base.ElementWrapper(i)
         obj.offset = 0.5 * i
         obj.duration = duration.Duration(0.5)
         part_2.append(obj)
     add_these = [(part_1, 0.5, 6), (part_1, 1.5, 7), (part_1, 2.0, 8),
                  (part_2, 0.5, 6), (part_2, 1.0, 7), (part_2, 2.0, 8)]
     for part, offset, number in add_these:
         zed = base.ElementWrapper(number)
         zed.duration = duration.Duration(0.5)
         part.insert(offset, zed)
     expected = pandas.Series({0.0: u'(0, 0)', 0.5: u'(1, 1)', 1.0: u'(2, 2)',
                               1.5: u'(3, 3)', 2.0: u'(4, 4)'})
     actual = indexer.stream_indexer(0, [part_1, part_2], verbatim_variable)[1]
     self.assertSequenceEqual(list(expected.index), list(actual.index))
     self.assertSequenceEqual(list(expected), list(actual))
 def test_stream_indexer(self):
     result = indexer.stream_indexer(0, [self.in_stream], verbatim, [base.ElementWrapper])[1]
     # that we get a Series back when a Stream is given
     self.assertIs(type(result), pandas.Series)
     # the verbatim function is designed to produce exactly what is given
     self.assertEqual(len(result), len(self.in_stream))
     self.assertSequenceEqual(list(result), [elt.obj for elt in self.in_stream])
 def test_mp_indexer_5(self):
     # test _4, but we want both ElementWrapper and Rest objects (we should only get
     # the "first" events)
     actual = indexer.stream_indexer(0,
                                     [self.shared_mixed_list],
                                     verbatim_rests,
                                     [base.ElementWrapper, note.Rest])[1]
     self.assertSequenceEqual(list(self.shared_mixed_rests_series.index), list(actual.index))
     self.assertSequenceEqual(list(self.shared_mixed_rests_series.values), list(actual.values))
 def test_mp_indexer_3(self):
     # same as test _2, but the Strame is pickled
     # ** inputted Streams are pickled
     # --> test values
     # --> one event at each offset
     input_stream = converter.freeze(stream.Stream(self.mixed_list), u'pickle')
     actual = indexer.stream_indexer(0, [input_stream], verbatim, [base.ElementWrapper])[1]
     self.assertSequenceEqual(list(self.mixed_series_notes.index), list(actual.index))
     self.assertSequenceEqual(list(self.mixed_series_notes.values), list(actual.values))
 def test_indexer_init_10(self):
     # when no "types" is specified, make sure it returns everything in the Stream
     # setup the input stream
     the_stream = stream.Stream()
     the_stream.append(note.Note(u'D#2', quarterLength=0.5))
     the_stream.append(note.Rest(quarterLength=0.5))
     the_stream.append(clef.TrebleClef())
     # setup the expected Series
     expected = pandas.Series({0.0: note.Note(u'D#2', quarterLength=0.5),
                               0.5: note.Rest(quarterLength=0.5),
                               1.0: clef.TrebleClef()})
     # run the test; verify results
     actual = indexer.stream_indexer(12, [the_stream], verbatim_ser)
     # check the multiprocessing token is returned, then get rid of it
     self.assertEqual(2, len(actual))
     self.assertEqual(12, actual[0])
     actual = actual[1]
     # check both the index and values are equal
     self.assertSequenceEqual(list(expected.index), list(actual.index))
     self.assertSequenceEqual(list(expected.values), list(actual.values))
 def test_multi_event_1(self):
     # Test this:
     # offset:  0.0  |  0.5  |  1.0  |  1.5  |  2.0
     # part 1:  [0]  |  [1]  |  [2]  |  [3]  |  [4]
     # part 2:  [0]  |  [1]  |  [2]  |  [3]  |  [4]
     part_1 = stream.Stream()
     for i in xrange(5):
         obj = base.ElementWrapper(i)
         obj.offset = 0.5 * i
         obj.duration = duration.Duration(0.5)
         part_1.append(obj)
     part_2 = stream.Stream()
     for i in xrange(5):
         obj = base.ElementWrapper(i)
         obj.offset = 0.5 * i
         obj.duration = duration.Duration(0.5)
         part_2.append(obj)
     expected = pandas.Series({0.0: u'(0, 0)', 0.5: u'(1, 1)', 1.0: u'(2, 2)',
                               1.5: u'(3, 3)', 2.0: u'(4, 4)'})
     actual = indexer.stream_indexer(0, [part_1, part_2], verbatim_variable)[1]
     self.assertSequenceEqual(list(expected.index), list(actual.index))
     self.assertSequenceEqual(list(expected), list(actual))