1 /*****************************************************************************
2  * Test cases for libxlsxwriter.
3  *
4  * Test to compare output against Excel files.
5  *
6  * Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
7  *
8  */
9 
10 #include "xlsxwriter.h"
11 
main()12 int main() {
13 
14     lxw_workbook  *workbook   = workbook_new("test_chart_order01.xlsx");
15     lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, NULL);
16     lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, NULL);
17     lxw_worksheet *worksheet3 = workbook_add_worksheet(workbook, NULL);
18     lxw_chart     *chart1     = workbook_add_chart(workbook, LXW_CHART_COLUMN);
19     lxw_chart     *chart2     = workbook_add_chart(workbook, LXW_CHART_BAR);
20     lxw_chart     *chart3     = workbook_add_chart(workbook, LXW_CHART_LINE);
21     lxw_chart     *chart4     = workbook_add_chart(workbook, LXW_CHART_PIE);
22 
23     /* For testing, copy the randomly generated axis ids in the target file. */
24     chart1->axis_id_1 = 54976896;
25     chart1->axis_id_2 = 54978432;
26 
27     chart2->axis_id_1 = 54310784;
28     chart2->axis_id_2 = 54312320;
29 
30     chart3->axis_id_1 = 69816704;
31     chart3->axis_id_2 = 69818240;
32 
33     chart4->axis_id_1 = 69816704;
34     chart4->axis_id_2 = 69818240;
35 
36     uint8_t data[5][3] = {
37         {1, 2,  3},
38         {2, 4,  6},
39         {3, 6,  9},
40         {4, 8,  12},
41         {5, 10, 15}
42     };
43 
44     int row, col;
45     for (row = 0; row < 5; row++)
46         for (col = 0; col < 3; col++) {
47             worksheet_write_number(worksheet1, row, col, data[row][col], NULL);
48             worksheet_write_number(worksheet2, row, col, data[row][col], NULL);
49             worksheet_write_number(worksheet3, row, col, data[row][col], NULL);
50         }
51 
52     chart_add_series(chart1, NULL, "=Sheet1!$A$1:$A$5");
53     chart_add_series(chart2, NULL, "=Sheet2!$A$1:$A$5");
54     chart_add_series(chart3, NULL, "=Sheet3!$A$1:$A$5");
55     chart_add_series(chart4, NULL, "=Sheet1!$B$1:$B$5");
56 
57     worksheet_insert_chart(worksheet1, CELL("E9"),  chart1);
58     worksheet_insert_chart(worksheet2, CELL("E9"),  chart2);
59     worksheet_insert_chart(worksheet3, CELL("E9"),  chart3);
60     worksheet_insert_chart(worksheet1, CELL("E24"), chart4);
61 
62     return workbook_close(workbook);
63 }
64