示例#1
0
    def check_basic(self):
        """
        Test permutations relative to the canonical order
        """
        for B, result in self.test_cases:
            B = array(B)
            A = arange(prod(B.shape)).reshape(B.shape)

            A_cube = nCube(A)
            B_cube = nCube(B)

            assert_equal(A_cube.relative_orientation(A_cube), False)
            assert_equal(B_cube.relative_orientation(B_cube), False)
            assert_equal(A_cube.relative_orientation(B_cube), result)
            assert_equal(B_cube.relative_orientation(A_cube), result)
示例#2
0
 def check_pairs(self):
     """
     Test pairs of cubes against one another
     """
     
     for B0,result0 in self.test_cases:
         B0 = array(B0)
         for B1,result1 in self.test_cases:
             B1 = array(B1)
             if B0.shape == B1.shape:
                 B0_cube = nCube(B0)
                 B1_cube = nCube(B1)
                 
                 assert_equal(B0_cube.relative_orientation(B1_cube),result0 ^ result1)
                 assert_equal(B1_cube.relative_orientation(B0_cube),result0 ^ result1)
示例#3
0
    def check_basic(self):
        """
        Test permutations relative to the canonical order
        """
        for B,result in self.test_cases:
            B = array(B)
            A = arange(prod(B.shape)).reshape(B.shape)
            
            A_cube = nCube(A)
            B_cube = nCube(B)

            assert_equal(A_cube.relative_orientation(A_cube),False)
            assert_equal(B_cube.relative_orientation(B_cube),False)
            assert_equal(A_cube.relative_orientation(B_cube),result)
            assert_equal(B_cube.relative_orientation(A_cube),result)
示例#4
0
    def check_pairs(self):
        """
        Test pairs of cubes against one another
        """

        for B0, result0 in self.test_cases:
            B0 = array(B0)
            for B1, result1 in self.test_cases:
                B1 = array(B1)
                if B0.shape == B1.shape:
                    B0_cube = nCube(B0)
                    B1_cube = nCube(B1)

                    assert_equal(B0_cube.relative_orientation(B1_cube),
                                 result0 ^ result1)
                    assert_equal(B1_cube.relative_orientation(B0_cube),
                                 result0 ^ result1)
示例#5
0
    def check_permutations(self):
        """
        Test permuted versions of the canonical ordering
        """
        for N in range(2,6):
            A = arange(2**N).reshape((2,)*N)
            B = A.copy()
            for i in range(1,N+1):
                Bcopy = B.copy()
                slice0 = [slice(None,None,None)]*(i-1) + [0] + [slice(None,None,None)]*(N-i)
                slice1 = [slice(None,None,None)]*(i-1) + [1] + [slice(None,None,None)]*(N-i)
                B[slice0] = Bcopy[slice1]
                B[slice1] = Bcopy[slice0]

                A_cube = nCube(A)
                B_cube = nCube(B)
                assert_equal(A_cube.relative_orientation(B_cube),i % 2)
                assert_equal(B_cube.relative_orientation(A_cube),i % 2)
示例#6
0
    def check_permutations(self):
        """
        Test permuted versions of the canonical ordering
        """
        for N in range(2, 6):
            A = arange(2**N).reshape((2, ) * N)
            B = A.copy()
            for i in range(1, N + 1):
                Bcopy = B.copy()
                slice0 = [slice(None, None, None)] * (i - 1) + [
                    0
                ] + [slice(None, None, None)] * (N - i)
                slice1 = [slice(None, None, None)] * (i - 1) + [
                    1
                ] + [slice(None, None, None)] * (N - i)
                B[slice0] = Bcopy[slice1]
                B[slice1] = Bcopy[slice0]

                A_cube = nCube(A)
                B_cube = nCube(B)
                assert_equal(A_cube.relative_orientation(B_cube), i % 2)
                assert_equal(B_cube.relative_orientation(A_cube), i % 2)