Beispiel #1
0
    def test_build_matrix_tuple(self):
        data_set = [
                ['internet', 'apple'  , 1, 4],
                ['internet', 'ms'     , 1, 5],
                ['internet', 'apple'  , 2, 7],
                ['internet', 'linux'  , 2, 1],
                ['internet', 'ms'     , 2, 3],
                ['tv'      , 'sony'   , 1, 2],
                ['tv'      , 'toshiba', 1, 7],
                ['tv'      , 'jvc'    , 1, 4],
                ['tv'      , 'sony'   , 2, 8],
                ['tv'      , 'toshiba', 2, 3],
        ]

        (row_headers, column_headers, data_matrix) = hr._build_matrix(data_set, row_key=lambda x: (x[0], x[1]), column_key=lambda x:x[2], value_key=lambda x:x[3])
        self.assertEquals((('internet', 'apple'), ('internet', 'linux'), ('internet', 'ms'), ('tv', 'jvc'), ('tv', 'sony'), ('tv', 'toshiba')), row_headers)
        self.assertEquals((1, 2), column_headers)
        expected_values = ((4, 7),
                           (0, 1),
                           (5, 3),
                           (4, 0),
                           (2, 8),
                           (7, 3))

        self.assertEquals(expected_values, data_matrix)
Beispiel #2
0
    def test_split(self):
        data_set = [
                ['internet', 'apple'  , 1, 4],
                ['internet', 'ms'     , 1, 5],
                ['internet', 'apple'  , 2, 7],
                ['internet', 'linux'  , 2, 1],
                ['internet', 'ms'     , 2, 3],
                ['tv'      , 'sony'   , 1, 2],
                ['tv'      , 'toshiba', 1, 7],
                ['tv'      , 'jvc'    , 1, 4],
                ['tv'      , 'sony'   , 2, 8],
                ['tv'      , 'toshiba', 2, 3],
        ]

        (row_headers, column_headers, data_matrix) = hr._build_matrix(data_set, row_key=lambda x: (x[0], x[1]), column_key=lambda x:x[2], value_key=lambda x:x[3])

        (rh1, m1), (rh2, m2) = hr.split_matrix(key=lambda x: x[0], row_headers=row_headers, data_matrix=data_matrix)
        expected_rh1 = (('internet', 'apple'), ('internet', 'linux'), ('internet', 'ms'))
        expected_rh2 = (('tv', 'jvc'), ('tv', 'sony'), ('tv', 'toshiba'))
        expected_m1 = ((4,   7),
                       (0,   1),
                       (5,   3))
        expected_m2 = ((4,   0),
                       (2,   8),
                       (7,   3))
        
        self.assertEquals(expected_rh1, rh1)
        self.assertEquals(expected_rh2, rh2)
        self.assertEquals(expected_m1, m1)
        self.assertEquals(expected_m2, m2)     
Beispiel #3
0
 def test_build_matrix(self):
     data_set = [
          ['internet', 1, 4],
          ['internet', 2, 5],
          ['tv' , 1, 6],
          ['tv' , 2, 7],
     ]
      
     (row_headers, column_headers, data_matrix) = hr._build_matrix(data_set, row_key=lambda x: (x[0],), column_key=lambda x:x[1], value_key=lambda x:x[2])
     self.assertEquals((('internet',), ('tv',)), row_headers)
     self.assertEquals((1, 2), column_headers)
     expected_values = ((4, 5), (6, 7))
     
     self.assertEquals(expected_values, data_matrix)