Example #1
0
    def test_overlapping(self):
        self.assert_iter_equal(windowed(range(6), 3, 2), [(0, 1, 2), (2, 3, 4)])
        self.assert_iter_equal(windowed(range(7), 3, 2), [(0, 1, 2), (2, 3, 4), (4, 5, 6)])

        self.assert_iter_equal(windowed(range(7), 3, 4), [(0, 1, 2), (4, 5, 6)])
        self.assert_iter_equal(windowed(range(8), 3, 4), [(0, 1, 2), (4, 5, 6)])
        self.assert_iter_equal(windowed(range(11), 3, 4), [(0, 1, 2), (4, 5, 6), (8, 9, 10)])
Example #2
0
 def test_partial(self):
     self.assert_iter_equal(windowed(range(4), 3, partial=True), [(0, 1, 2),
                                                                  (1, 2, 3),
                                                                  (2, 3),
                                                                  (3, )])
     self.assert_iter_equal(windowed(range(4), 3, 2, partial=True),
                            [(0, 1, 2), (2, 3)])
     self.assert_iter_equal(windowed(range(4), 3, 3, partial=True),
                            [(0, 1, 2), (3, )])
     self.assert_iter_equal(windowed(range(7), 3, 5, partial=True),
                            [(0, 1, 2), (5, 6)])
Example #3
0
    def test_overlapping(self):
        self.assert_iter_equal(windowed(range(6), 3, 2), [(0, 1, 2),
                                                          (2, 3, 4)])
        self.assert_iter_equal(windowed(range(7), 3, 2), [(0, 1, 2), (2, 3, 4),
                                                          (4, 5, 6)])

        self.assert_iter_equal(windowed(range(7), 3, 4), [(0, 1, 2),
                                                          (4, 5, 6)])
        self.assert_iter_equal(windowed(range(8), 3, 4), [(0, 1, 2),
                                                          (4, 5, 6)])
        self.assert_iter_equal(windowed(range(11), 3, 4),
                               [(0, 1, 2), (4, 5, 6), (8, 9, 10)])
Example #4
0
 def test_chop_partial(self):
     size = 3
     self.assert_iter_equal(
         chopped(windowed(range(4), size, 1, partial=True), size),
         [(0, 1, 2), (1, 2, 3)])
     self.assert_iter_equal(
         chopped(chunked(range(7), size, partial=True), size), [(0, 1, 2),
                                                                (3, 4, 5)])
Example #5
0
    def test_empty(self):
        for size in [0, 1, 234]:
            for null in [0, None, -1]:
                windows = [windowed(range(size), null),
                           windowed(range(size), null, null),
                           windowed(range(size), null, 1),
                           windowed(range(size), 1, null)]

                for window in windows:
                    self.assert_iter_equal(window, [])

        windows = [windowed(range(0), 1),
                   windowed(range(0), 3, 2),
                   windowed(range(0), 30000, 2312)]

        for window in windows:
            self.assert_iter_equal(window, [])
Example #6
0
    def test_empty(self):
        for size in [0, 1, 234]:
            for null in [0, None, -1]:
                windows = [
                    windowed(range(size), null),
                    windowed(range(size), null, null),
                    windowed(range(size), null, 1),
                    windowed(range(size), 1, null)
                ]

                for window in windows:
                    self.assert_iter_equal(window, [])

        windows = [
            windowed(range(0), 1),
            windowed(range(0), 3, 2),
            windowed(range(0), 30000, 2312)
        ]

        for window in windows:
            self.assert_iter_equal(window, [])
Example #7
0
 def test_not_evenly_divisible(self):
     correct = [(0, 1, 2), (3, 4, 5)]
     self.assert_iter_equal(windowed(range(7), 3, 3), correct)
     self.assert_iter_equal(windowed(range(8), 3, 3), correct)
Example #8
0
 def test_evenly_divisible(self):
     self.assert_iter_equal(windowed(range(6), 3, 3), [(0, 1, 2),
                                                       (3, 4, 5)])
     self.assert_iter_equal(windowed(range(9), 3, 3), [(0, 1, 2), (3, 4, 5),
                                                       (6, 7, 8)])
Example #9
0
 def test_windows_of_one(self):
     self.assert_iter_equal(windowed(range(6), 1), [(0, ), (1, ), (2, ),
                                                    (3, ), (4, ), (5, )])
Example #10
0
 def test_single(self):
     self.assert_iter_equal(windowed(range(1), 1), [(0, )])
     self.assert_iter_equal(windowed(range(1), 2), [])
     self.assert_iter_equal(windowed(range(1), 1, 2), [(0, )])
Example #11
0
 def test_chop_partial(self):
     size = 3
     self.assert_iter_equal(chopped(windowed(range(4), size, 1, partial=True), size), [(0, 1, 2), (1, 2, 3)])
     self.assert_iter_equal(chopped(chunked(range(7), size, partial=True), size), [(0, 1, 2), (3, 4, 5)])
Example #12
0
 def test_not_evenly_divisible(self):
     correct = [(0, 1, 2), (3, 4, 5)]
     self.assert_iter_equal(windowed(range(7), 3, 3), correct)
     self.assert_iter_equal(windowed(range(8), 3, 3), correct)
Example #13
0
 def test_evenly_divisible(self):
     self.assert_iter_equal(windowed(range(6), 3, 3), [(0, 1, 2), (3, 4, 5)])
     self.assert_iter_equal(windowed(range(9), 3, 3), [(0, 1, 2), (3, 4, 5), (6, 7, 8)])
Example #14
0
 def test_partial(self):
     self.assert_iter_equal(windowed(range(4), 3, partial=True), [(0, 1, 2), (1, 2, 3), (2, 3), (3,)])
     self.assert_iter_equal(windowed(range(4), 3, 2, partial=True), [(0, 1, 2), (2, 3)])
     self.assert_iter_equal(windowed(range(4), 3, 3, partial=True), [(0, 1, 2), (3,)])
     self.assert_iter_equal(windowed(range(7), 3, 5, partial=True), [(0, 1, 2), (5, 6)])
Example #15
0
 def test_windows_of_one(self):
     self.assert_iter_equal(windowed(range(6), 1), [(0,), (1,), (2,), (3,), (4,), (5,)])
Example #16
0
 def test_single(self):
     self.assert_iter_equal(windowed(range(1), 1), [(0,)])
     self.assert_iter_equal(windowed(range(1), 2), [])
     self.assert_iter_equal(windowed(range(1), 1, 2), [(0,)])