annotate DEPENDENCIES/mingw32/Python27/Lib/site-packages/numpy/lib/tests/test_arraypad.py @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2a2c65a20a8b
children
rev   line source
Chris@87 1 """Tests for the pad functions.
Chris@87 2
Chris@87 3 """
Chris@87 4 from __future__ import division, absolute_import, print_function
Chris@87 5
Chris@87 6 from numpy.testing import TestCase, run_module_suite, assert_array_equal
Chris@87 7 from numpy.testing import assert_raises, assert_array_almost_equal
Chris@87 8 import numpy as np
Chris@87 9 from numpy.lib import pad
Chris@87 10
Chris@87 11
Chris@87 12 class TestStatistic(TestCase):
Chris@87 13 def test_check_mean_stat_length(self):
Chris@87 14 a = np.arange(100).astype('f')
Chris@87 15 a = pad(a, ((25, 20), ), 'mean', stat_length=((2, 3), ))
Chris@87 16 b = np.array(
Chris@87 17 [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
Chris@87 18 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
Chris@87 19 0.5, 0.5, 0.5, 0.5, 0.5,
Chris@87 20
Chris@87 21 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.,
Chris@87 22 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.,
Chris@87 23 20., 21., 22., 23., 24., 25., 26., 27., 28., 29.,
Chris@87 24 30., 31., 32., 33., 34., 35., 36., 37., 38., 39.,
Chris@87 25 40., 41., 42., 43., 44., 45., 46., 47., 48., 49.,
Chris@87 26 50., 51., 52., 53., 54., 55., 56., 57., 58., 59.,
Chris@87 27 60., 61., 62., 63., 64., 65., 66., 67., 68., 69.,
Chris@87 28 70., 71., 72., 73., 74., 75., 76., 77., 78., 79.,
Chris@87 29 80., 81., 82., 83., 84., 85., 86., 87., 88., 89.,
Chris@87 30 90., 91., 92., 93., 94., 95., 96., 97., 98., 99.,
Chris@87 31
Chris@87 32 98., 98., 98., 98., 98., 98., 98., 98., 98., 98.,
Chris@87 33 98., 98., 98., 98., 98., 98., 98., 98., 98., 98.
Chris@87 34 ])
Chris@87 35 assert_array_equal(a, b)
Chris@87 36
Chris@87 37 def test_check_maximum_1(self):
Chris@87 38 a = np.arange(100)
Chris@87 39 a = pad(a, (25, 20), 'maximum')
Chris@87 40 b = np.array(
Chris@87 41 [99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
Chris@87 42 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
Chris@87 43 99, 99, 99, 99, 99,
Chris@87 44
Chris@87 45 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Chris@87 46 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
Chris@87 47 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
Chris@87 48 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
Chris@87 49 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
Chris@87 50 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
Chris@87 51 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
Chris@87 52 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
Chris@87 53 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
Chris@87 54 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
Chris@87 55
Chris@87 56 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
Chris@87 57 99, 99, 99, 99, 99, 99, 99, 99, 99, 99]
Chris@87 58 )
Chris@87 59 assert_array_equal(a, b)
Chris@87 60
Chris@87 61 def test_check_maximum_2(self):
Chris@87 62 a = np.arange(100) + 1
Chris@87 63 a = pad(a, (25, 20), 'maximum')
Chris@87 64 b = np.array(
Chris@87 65 [100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
Chris@87 66 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
Chris@87 67 100, 100, 100, 100, 100,
Chris@87 68
Chris@87 69 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Chris@87 70 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
Chris@87 71 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
Chris@87 72 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
Chris@87 73 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
Chris@87 74 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
Chris@87 75 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
Chris@87 76 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
Chris@87 77 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
Chris@87 78 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
Chris@87 79
Chris@87 80 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
Chris@87 81 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
Chris@87 82 )
Chris@87 83 assert_array_equal(a, b)
Chris@87 84
Chris@87 85 def test_check_minimum_1(self):
Chris@87 86 a = np.arange(100)
Chris@87 87 a = pad(a, (25, 20), 'minimum')
Chris@87 88 b = np.array(
Chris@87 89 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Chris@87 90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Chris@87 91 0, 0, 0, 0, 0,
Chris@87 92
Chris@87 93 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Chris@87 94 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
Chris@87 95 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
Chris@87 96 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
Chris@87 97 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
Chris@87 98 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
Chris@87 99 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
Chris@87 100 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
Chris@87 101 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
Chris@87 102 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
Chris@87 103
Chris@87 104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Chris@87 105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Chris@87 106 )
Chris@87 107 assert_array_equal(a, b)
Chris@87 108
Chris@87 109 def test_check_minimum_2(self):
Chris@87 110 a = np.arange(100) + 2
Chris@87 111 a = pad(a, (25, 20), 'minimum')
Chris@87 112 b = np.array(
Chris@87 113 [2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
Chris@87 114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
Chris@87 115 2, 2, 2, 2, 2,
Chris@87 116
Chris@87 117 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
Chris@87 118 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
Chris@87 119 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
Chris@87 120 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
Chris@87 121 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
Chris@87 122 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
Chris@87 123 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
Chris@87 124 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
Chris@87 125 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
Chris@87 126 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
Chris@87 127
Chris@87 128 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
Chris@87 129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
Chris@87 130 )
Chris@87 131 assert_array_equal(a, b)
Chris@87 132
Chris@87 133 def test_check_median(self):
Chris@87 134 a = np.arange(100).astype('f')
Chris@87 135 a = pad(a, (25, 20), 'median')
Chris@87 136 b = np.array(
Chris@87 137 [49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 138 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 139 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 140
Chris@87 141 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.,
Chris@87 142 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.,
Chris@87 143 20., 21., 22., 23., 24., 25., 26., 27., 28., 29.,
Chris@87 144 30., 31., 32., 33., 34., 35., 36., 37., 38., 39.,
Chris@87 145 40., 41., 42., 43., 44., 45., 46., 47., 48., 49.,
Chris@87 146 50., 51., 52., 53., 54., 55., 56., 57., 58., 59.,
Chris@87 147 60., 61., 62., 63., 64., 65., 66., 67., 68., 69.,
Chris@87 148 70., 71., 72., 73., 74., 75., 76., 77., 78., 79.,
Chris@87 149 80., 81., 82., 83., 84., 85., 86., 87., 88., 89.,
Chris@87 150 90., 91., 92., 93., 94., 95., 96., 97., 98., 99.,
Chris@87 151
Chris@87 152 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 153 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5]
Chris@87 154 )
Chris@87 155 assert_array_equal(a, b)
Chris@87 156
Chris@87 157 def test_check_median_01(self):
Chris@87 158 a = np.array([[3, 1, 4], [4, 5, 9], [9, 8, 2]])
Chris@87 159 a = pad(a, 1, 'median')
Chris@87 160 b = np.array(
Chris@87 161 [[4, 4, 5, 4, 4],
Chris@87 162
Chris@87 163 [3, 3, 1, 4, 3],
Chris@87 164 [5, 4, 5, 9, 5],
Chris@87 165 [8, 9, 8, 2, 8],
Chris@87 166
Chris@87 167 [4, 4, 5, 4, 4]]
Chris@87 168 )
Chris@87 169 assert_array_equal(a, b)
Chris@87 170
Chris@87 171 def test_check_median_02(self):
Chris@87 172 a = np.array([[3, 1, 4], [4, 5, 9], [9, 8, 2]])
Chris@87 173 a = pad(a.T, 1, 'median').T
Chris@87 174 b = np.array(
Chris@87 175 [[5, 4, 5, 4, 5],
Chris@87 176
Chris@87 177 [3, 3, 1, 4, 3],
Chris@87 178 [5, 4, 5, 9, 5],
Chris@87 179 [8, 9, 8, 2, 8],
Chris@87 180
Chris@87 181 [5, 4, 5, 4, 5]]
Chris@87 182 )
Chris@87 183 assert_array_equal(a, b)
Chris@87 184
Chris@87 185 def test_check_mean_shape_one(self):
Chris@87 186 a = [[4, 5, 6]]
Chris@87 187 a = pad(a, (5, 7), 'mean', stat_length=2)
Chris@87 188 b = np.array(
Chris@87 189 [[4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 190 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 191 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 192 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 193 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 194
Chris@87 195 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 196
Chris@87 197 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 198 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 199 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 200 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 201 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 202 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6],
Chris@87 203 [4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6]]
Chris@87 204 )
Chris@87 205 assert_array_equal(a, b)
Chris@87 206
Chris@87 207 def test_check_mean_2(self):
Chris@87 208 a = np.arange(100).astype('f')
Chris@87 209 a = pad(a, (25, 20), 'mean')
Chris@87 210 b = np.array(
Chris@87 211 [49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 212 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 213 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 214
Chris@87 215 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.,
Chris@87 216 10., 11., 12., 13., 14., 15., 16., 17., 18., 19.,
Chris@87 217 20., 21., 22., 23., 24., 25., 26., 27., 28., 29.,
Chris@87 218 30., 31., 32., 33., 34., 35., 36., 37., 38., 39.,
Chris@87 219 40., 41., 42., 43., 44., 45., 46., 47., 48., 49.,
Chris@87 220 50., 51., 52., 53., 54., 55., 56., 57., 58., 59.,
Chris@87 221 60., 61., 62., 63., 64., 65., 66., 67., 68., 69.,
Chris@87 222 70., 71., 72., 73., 74., 75., 76., 77., 78., 79.,
Chris@87 223 80., 81., 82., 83., 84., 85., 86., 87., 88., 89.,
Chris@87 224 90., 91., 92., 93., 94., 95., 96., 97., 98., 99.,
Chris@87 225
Chris@87 226 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5,
Chris@87 227 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5, 49.5]
Chris@87 228 )
Chris@87 229 assert_array_equal(a, b)
Chris@87 230
Chris@87 231
Chris@87 232 class TestConstant(TestCase):
Chris@87 233 def test_check_constant(self):
Chris@87 234 a = np.arange(100)
Chris@87 235 a = pad(a, (25, 20), 'constant', constant_values=(10, 20))
Chris@87 236 b = np.array(
Chris@87 237 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
Chris@87 238 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
Chris@87 239 10, 10, 10, 10, 10,
Chris@87 240
Chris@87 241 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Chris@87 242 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
Chris@87 243 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
Chris@87 244 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
Chris@87 245 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
Chris@87 246 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
Chris@87 247 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
Chris@87 248 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
Chris@87 249 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
Chris@87 250 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
Chris@87 251
Chris@87 252 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
Chris@87 253 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
Chris@87 254 )
Chris@87 255 assert_array_equal(a, b)
Chris@87 256
Chris@87 257
Chris@87 258 class TestLinearRamp(TestCase):
Chris@87 259 def test_check_simple(self):
Chris@87 260 a = np.arange(100).astype('f')
Chris@87 261 a = pad(a, (25, 20), 'linear_ramp', end_values=(4, 5))
Chris@87 262 b = np.array(
Chris@87 263 [4.00, 3.84, 3.68, 3.52, 3.36, 3.20, 3.04, 2.88, 2.72, 2.56,
Chris@87 264 2.40, 2.24, 2.08, 1.92, 1.76, 1.60, 1.44, 1.28, 1.12, 0.96,
Chris@87 265 0.80, 0.64, 0.48, 0.32, 0.16,
Chris@87 266
Chris@87 267 0.00, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00,
Chris@87 268 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0,
Chris@87 269 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0,
Chris@87 270 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0,
Chris@87 271 40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0,
Chris@87 272 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0,
Chris@87 273 60.0, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0,
Chris@87 274 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0,
Chris@87 275 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0,
Chris@87 276 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0,
Chris@87 277
Chris@87 278 94.3, 89.6, 84.9, 80.2, 75.5, 70.8, 66.1, 61.4, 56.7, 52.0,
Chris@87 279 47.3, 42.6, 37.9, 33.2, 28.5, 23.8, 19.1, 14.4, 9.7, 5.]
Chris@87 280 )
Chris@87 281 assert_array_almost_equal(a, b, decimal=5)
Chris@87 282
Chris@87 283
Chris@87 284 class TestReflect(TestCase):
Chris@87 285 def test_check_simple(self):
Chris@87 286 a = np.arange(100)
Chris@87 287 a = pad(a, (25, 20), 'reflect')
Chris@87 288 b = np.array(
Chris@87 289 [25, 24, 23, 22, 21, 20, 19, 18, 17, 16,
Chris@87 290 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
Chris@87 291 5, 4, 3, 2, 1,
Chris@87 292
Chris@87 293 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Chris@87 294 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
Chris@87 295 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
Chris@87 296 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
Chris@87 297 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
Chris@87 298 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
Chris@87 299 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
Chris@87 300 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
Chris@87 301 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
Chris@87 302 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
Chris@87 303
Chris@87 304 98, 97, 96, 95, 94, 93, 92, 91, 90, 89,
Chris@87 305 88, 87, 86, 85, 84, 83, 82, 81, 80, 79]
Chris@87 306 )
Chris@87 307 assert_array_equal(a, b)
Chris@87 308
Chris@87 309 def test_check_large_pad(self):
Chris@87 310 a = [[4, 5, 6], [6, 7, 8]]
Chris@87 311 a = pad(a, (5, 7), 'reflect')
Chris@87 312 b = np.array(
Chris@87 313 [[7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 314 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 315 [7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 316 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 317 [7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 318
Chris@87 319 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 320 [7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 321
Chris@87 322 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 323 [7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 324 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 325 [7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 326 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 327 [7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7, 8, 7, 6, 7],
Chris@87 328 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5]]
Chris@87 329 )
Chris@87 330 assert_array_equal(a, b)
Chris@87 331
Chris@87 332 def test_check_shape(self):
Chris@87 333 a = [[4, 5, 6]]
Chris@87 334 a = pad(a, (5, 7), 'reflect')
Chris@87 335 b = np.array(
Chris@87 336 [[5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 337 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 338 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 339 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 340 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 341
Chris@87 342 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 343
Chris@87 344 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 345 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 346 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 347 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 348 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 349 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5],
Chris@87 350 [5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5, 6, 5, 4, 5]]
Chris@87 351 )
Chris@87 352 assert_array_equal(a, b)
Chris@87 353
Chris@87 354 def test_check_01(self):
Chris@87 355 a = pad([1, 2, 3], 2, 'reflect')
Chris@87 356 b = np.array([3, 2, 1, 2, 3, 2, 1])
Chris@87 357 assert_array_equal(a, b)
Chris@87 358
Chris@87 359 def test_check_02(self):
Chris@87 360 a = pad([1, 2, 3], 3, 'reflect')
Chris@87 361 b = np.array([2, 3, 2, 1, 2, 3, 2, 1, 2])
Chris@87 362 assert_array_equal(a, b)
Chris@87 363
Chris@87 364 def test_check_03(self):
Chris@87 365 a = pad([1, 2, 3], 4, 'reflect')
Chris@87 366 b = np.array([1, 2, 3, 2, 1, 2, 3, 2, 1, 2, 3])
Chris@87 367 assert_array_equal(a, b)
Chris@87 368
Chris@87 369
Chris@87 370 class TestWrap(TestCase):
Chris@87 371 def test_check_simple(self):
Chris@87 372 a = np.arange(100)
Chris@87 373 a = pad(a, (25, 20), 'wrap')
Chris@87 374 b = np.array(
Chris@87 375 [75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
Chris@87 376 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
Chris@87 377 95, 96, 97, 98, 99,
Chris@87 378
Chris@87 379 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Chris@87 380 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
Chris@87 381 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
Chris@87 382 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
Chris@87 383 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
Chris@87 384 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
Chris@87 385 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
Chris@87 386 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
Chris@87 387 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
Chris@87 388 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
Chris@87 389
Chris@87 390 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Chris@87 391 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Chris@87 392 )
Chris@87 393 assert_array_equal(a, b)
Chris@87 394
Chris@87 395 def test_check_large_pad(self):
Chris@87 396 a = np.arange(12)
Chris@87 397 a = np.reshape(a, (3, 4))
Chris@87 398 a = pad(a, (10, 12), 'wrap')
Chris@87 399 b = np.array(
Chris@87 400 [[10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 401 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 402 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 403 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 404 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 405 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 406 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 407 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 408 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 409 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 410 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 411 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 412 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 413 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 414 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 415 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 416 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 417 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 418 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 419 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 420
Chris@87 421 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 422 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 423 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 424 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 425 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 426 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 427
Chris@87 428 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 429 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 430 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 431 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 432 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 433 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 434 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 435 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 436 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 437 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 438 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 439 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 440 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 441 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 442 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 443 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 444 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 445 11, 8, 9, 10, 11, 8, 9, 10, 11],
Chris@87 446 [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2,
Chris@87 447 3, 0, 1, 2, 3, 0, 1, 2, 3],
Chris@87 448 [6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6,
Chris@87 449 7, 4, 5, 6, 7, 4, 5, 6, 7],
Chris@87 450 [10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10, 11, 8, 9, 10,
Chris@87 451 11, 8, 9, 10, 11, 8, 9, 10, 11]]
Chris@87 452 )
Chris@87 453 assert_array_equal(a, b)
Chris@87 454
Chris@87 455 def test_check_01(self):
Chris@87 456 a = pad([1, 2, 3], 3, 'wrap')
Chris@87 457 b = np.array([1, 2, 3, 1, 2, 3, 1, 2, 3])
Chris@87 458 assert_array_equal(a, b)
Chris@87 459
Chris@87 460 def test_check_02(self):
Chris@87 461 a = pad([1, 2, 3], 4, 'wrap')
Chris@87 462 b = np.array([3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1])
Chris@87 463 assert_array_equal(a, b)
Chris@87 464
Chris@87 465
Chris@87 466 class TestStatLen(TestCase):
Chris@87 467 def test_check_simple(self):
Chris@87 468 a = np.arange(30)
Chris@87 469 a = np.reshape(a, (6, 5))
Chris@87 470 a = pad(a, ((2, 3), (3, 2)), mode='mean', stat_length=(3,))
Chris@87 471 b = np.array(
Chris@87 472 [[6, 6, 6, 5, 6, 7, 8, 9, 8, 8],
Chris@87 473 [6, 6, 6, 5, 6, 7, 8, 9, 8, 8],
Chris@87 474
Chris@87 475 [1, 1, 1, 0, 1, 2, 3, 4, 3, 3],
Chris@87 476 [6, 6, 6, 5, 6, 7, 8, 9, 8, 8],
Chris@87 477 [11, 11, 11, 10, 11, 12, 13, 14, 13, 13],
Chris@87 478 [16, 16, 16, 15, 16, 17, 18, 19, 18, 18],
Chris@87 479 [21, 21, 21, 20, 21, 22, 23, 24, 23, 23],
Chris@87 480 [26, 26, 26, 25, 26, 27, 28, 29, 28, 28],
Chris@87 481
Chris@87 482 [21, 21, 21, 20, 21, 22, 23, 24, 23, 23],
Chris@87 483 [21, 21, 21, 20, 21, 22, 23, 24, 23, 23],
Chris@87 484 [21, 21, 21, 20, 21, 22, 23, 24, 23, 23]]
Chris@87 485 )
Chris@87 486 assert_array_equal(a, b)
Chris@87 487
Chris@87 488
Chris@87 489 class TestEdge(TestCase):
Chris@87 490 def test_check_simple(self):
Chris@87 491 a = np.arange(12)
Chris@87 492 a = np.reshape(a, (4, 3))
Chris@87 493 a = pad(a, ((2, 3), (3, 2)), 'edge')
Chris@87 494 b = np.array(
Chris@87 495 [[0, 0, 0, 0, 1, 2, 2, 2],
Chris@87 496 [0, 0, 0, 0, 1, 2, 2, 2],
Chris@87 497
Chris@87 498 [0, 0, 0, 0, 1, 2, 2, 2],
Chris@87 499 [3, 3, 3, 3, 4, 5, 5, 5],
Chris@87 500 [6, 6, 6, 6, 7, 8, 8, 8],
Chris@87 501 [9, 9, 9, 9, 10, 11, 11, 11],
Chris@87 502
Chris@87 503 [9, 9, 9, 9, 10, 11, 11, 11],
Chris@87 504 [9, 9, 9, 9, 10, 11, 11, 11],
Chris@87 505 [9, 9, 9, 9, 10, 11, 11, 11]]
Chris@87 506 )
Chris@87 507 assert_array_equal(a, b)
Chris@87 508
Chris@87 509
Chris@87 510 class TestZeroPadWidth(TestCase):
Chris@87 511 def test_zero_pad_width(self):
Chris@87 512 arr = np.arange(30)
Chris@87 513 arr = np.reshape(arr, (6, 5))
Chris@87 514 for pad_width in (0, (0, 0), ((0, 0), (0, 0))):
Chris@87 515 assert_array_equal(arr, pad(arr, pad_width, mode='constant'))
Chris@87 516
Chris@87 517
Chris@87 518 class ValueError1(TestCase):
Chris@87 519 def test_check_simple(self):
Chris@87 520 arr = np.arange(30)
Chris@87 521 arr = np.reshape(arr, (6, 5))
Chris@87 522 kwargs = dict(mode='mean', stat_length=(3, ))
Chris@87 523 assert_raises(ValueError, pad, arr, ((2, 3), (3, 2), (4, 5)),
Chris@87 524 **kwargs)
Chris@87 525
Chris@87 526 def test_check_negative_stat_length(self):
Chris@87 527 arr = np.arange(30)
Chris@87 528 arr = np.reshape(arr, (6, 5))
Chris@87 529 kwargs = dict(mode='mean', stat_length=(-3, ))
Chris@87 530 assert_raises(ValueError, pad, arr, ((2, 3), (3, 2)),
Chris@87 531 **kwargs)
Chris@87 532
Chris@87 533 def test_check_negative_pad_width(self):
Chris@87 534 arr = np.arange(30)
Chris@87 535 arr = np.reshape(arr, (6, 5))
Chris@87 536 kwargs = dict(mode='mean', stat_length=(3, ))
Chris@87 537 assert_raises(ValueError, pad, arr, ((-2, 3), (3, 2)),
Chris@87 538 **kwargs)
Chris@87 539
Chris@87 540
Chris@87 541 class ValueError2(TestCase):
Chris@87 542 def test_check_simple(self):
Chris@87 543 arr = np.arange(30)
Chris@87 544 arr = np.reshape(arr, (6, 5))
Chris@87 545 kwargs = dict(mode='mean', stat_length=(3, ))
Chris@87 546 assert_raises(ValueError, pad, arr, ((2, 3, 4), (3, 2)),
Chris@87 547 **kwargs)
Chris@87 548
Chris@87 549
Chris@87 550 class ValueError3(TestCase):
Chris@87 551 def test_check_simple(self):
Chris@87 552 arr = np.arange(30)
Chris@87 553 arr = np.reshape(arr, (6, 5))
Chris@87 554 kwargs = dict(mode='mean', stat_length=(3, ))
Chris@87 555 assert_raises(ValueError, pad, arr, ((-2, 3), (3, 2)),
Chris@87 556 **kwargs)
Chris@87 557
Chris@87 558
Chris@87 559 if __name__ == "__main__":
Chris@87 560 run_module_suite()