Exemplo n.º 1
0
def test_merge(A, B, how, where, shift):
    expected = {
        ('v', '+', 0): numpy.array([
            [0.,  1.,  2., nan],
            [3.,  4.,  5., nan],
            [6.,  7.,  8., nan],
            [9., 10., 11., nan],
            [0.,  1.,  2.,  3.],
            [4.,  5.,  6.,  7.]
        ]),
        ('v', '-', 0): numpy.array([
            [0.,  1.,  2.,  3.],
            [4.,  5.,  6.,  7.],
            [0.,  1.,  2., nan],
            [3.,  4.,  5., nan],
            [6.,  7.,  8., nan],
            [9., 10., 11., nan]
        ]),
        ('v', '+', 2): numpy.array([
            [ 0.,   1.,   2., nan,   nan, nan],
            [ 3.,   4.,   5., nan,   nan, nan],
            [ 6.,   7.,   8., nan,   nan, nan],
            [ 9.,  10.,  11., nan,   nan, nan],
            [nan,  nan,   0.,   1.,   2.,  3.],
            [nan,  nan,   4.,   5.,   6.,  7.]
        ]),
        ('v', '-', 2): numpy.array([
            [nan, nan,  0.,  1.,  2.,  3.],
            [nan, nan,  4.,  5.,  6.,  7.],
            [ 0.,  1.,  2., nan, nan, nan],
            [ 3.,  4.,  5., nan, nan, nan],
            [ 6.,  7.,  8., nan, nan, nan],
            [ 9., 10., 11., nan, nan, nan]
        ]),
        ('v', '+', -1): numpy.array([
            [nan, 0., 1.,   2.],
            [nan, 3., 4.,   5.],
            [nan, 6., 7.,   8.],
            [nan, 9., 10., 11.],
            [ 0., 1., 2.,   3.],
            [ 4., 5., 6.,   7.]
        ]),
        ('v', '-', -1): numpy.array([
            [ 0., 1., 2.,   3.],
            [ 4., 5., 6.,   7.],
            [nan, 0., 1.,   2.],
            [nan, 3., 4.,   5.],
            [nan, 6., 7.,   8.],
            [nan, 9., 10., 11.]
        ]),
        ('h', '+', 0): numpy.array([
            [0.,  1.,  2.,  0.,  1.,  2.,  3.],
            [3.,  4.,  5.,  4.,  5.,  6.,  7.],
            [6.,  7.,  8., nan, nan, nan, nan],
            [9., 10., 11., nan, nan, nan, nan]
        ]),
        ('h', '-', 0): numpy.array([
            [ 0.,  1.,  2.,  3., 0.,  1.,  2.],
            [ 4.,  5.,  6.,  7., 3.,  4.,  5.],
            [nan, nan, nan, nan, 6.,  7.,  8.],
            [nan, nan, nan, nan, 9., 10., 11.]
        ]),
        ('h', '+', 2): numpy.array([
            [0.,  1.,  2., nan, nan, nan, nan],
            [3.,  4.,  5., nan, nan, nan, nan],
            [6.,  7.,  8.,  0.,  1.,  2.,  3.],
            [9., 10., 11.,  4.,  5.,  6.,  7.]
        ]),
        ('h', '-', 2): numpy.array([
            [nan, nan, nan, nan, 0.,  1.,  2.],
            [nan, nan, nan, nan, 3.,  4.,  5.],
            [ 0.,  1.,  2.,  3., 6.,  7.,  8.],
            [ 4.,  5.,  6.,  7., 9., 10., 11.]
        ]),
        ('h', '+', -1): numpy.array([
            [nan, nan, nan,  0.,  1.,  2.,  3.],
            [ 0.,  1.,  2.,  4.,  5.,  6.,  7.],
            [ 3.,  4.,  5., nan, nan, nan, nan],
            [ 6.,  7.,  8., nan, nan, nan, nan],
            [ 9., 10., 11., nan, nan, nan, nan]
        ]),
        ('h', '-', -1): numpy.array([
            [ 0.,  1.,  2.,  3., nan, nan, nan],
            [ 4.,  5.,  6.,  7.,  0.,  1.,  2.],
            [nan, nan, nan, nan,  3.,  4.,  5.],
            [nan, nan, nan, nan,  6.,  7.,  8.],
            [nan, nan, nan, nan,  9., 10., 11.]
        ]),
    }
    result = core.merge(A, B, how=how, where=where, shift=shift)
    nptest.assert_array_equal(result, expected[(how, where, shift)])
Exemplo n.º 2
0
 def test_merge_hminus_neg1(self):
     nptest.assert_array_equal(
         self.known_AB_hminus_neg1,
         core.merge(self.A, self.B, how='h', where='-', shift=-1),
     )
Exemplo n.º 3
0
 def test_merge_vplus_neg1(self):
     nptest.assert_array_equal(
         self.known_AB_vplus_neg1,
         core.merge(self.A, self.B, how='v', where='+', shift=-1),
     )
Exemplo n.º 4
0
 def test_merge_hplus_2(self):
     nptest.assert_array_equal(
         self.known_AB_hplus_2,
         core.merge(self.A, self.B, how='h', where='+', shift=2),
     )
Exemplo n.º 5
0
 def test_merge_vminus_2(self):
     nptest.assert_array_equal(
         self.known_AB_vminus_2,
         core.merge(self.A, self.B, how='v', where='-', shift=2),
     )