2 * Unit tests of table printer
4 * (c) 2014 Robert Kessl <robert.kessl@economia.cz>
9 #include <ucw/table-types.h>
13 enum test_table_cols {
14 TEST_COL0_SIZE, TEST_COL1_TS
17 static struct table test_tbl = {
19 [TEST_COL0_SIZE] = TBL_COL_SIZE_FMT("size", 10, UNIT_BYTE),
20 [TEST_COL1_TS] = TBL_COL_TIMESTAMP("ts", 20),
23 TBL_OUTPUT_HUMAN_READABLE,
26 static void do_test(void)
29 out = bfdopen_shared(1, 4096);
30 table_init(&test_tbl);
31 table_start(&test_tbl, out);
33 u64 test_time = 1403685533;
34 s64 test_size = 4LU*(1024LU * 1024LU * 1024LU);
36 table_col_size(&test_tbl, TEST_COL0_SIZE, test_size);
37 table_col_timestamp(&test_tbl, TEST_COL1_TS, test_time);
38 table_end_row(&test_tbl);
40 test_tbl.column_order[TEST_COL0_SIZE].output_type = UNIT_KILOBYTE;
41 table_col_size(&test_tbl, TEST_COL0_SIZE, test_size);
42 table_col_timestamp(&test_tbl, TEST_COL1_TS, test_time);
43 table_end_row(&test_tbl);
45 test_tbl.column_order[TEST_COL0_SIZE].output_type = UNIT_MEGABYTE;
46 table_col_size(&test_tbl, TEST_COL0_SIZE, test_size);
47 table_col_timestamp(&test_tbl, TEST_COL1_TS, test_time);
48 table_end_row(&test_tbl);
50 test_tbl.column_order[TEST_COL0_SIZE].output_type = UNIT_GIGABYTE;
51 test_tbl.column_order[TEST_COL1_TS].output_type = TIMESTAMP_DATETIME;
52 table_col_size(&test_tbl, TEST_COL0_SIZE, test_size);
53 table_col_timestamp(&test_tbl, TEST_COL1_TS, test_time);
54 table_end_row(&test_tbl);
57 table_cleanup(&test_tbl);
62 int main(int argc UNUSED, char **argv UNUSED)