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)
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)
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)