Skip to content

Commit

Permalink
c
Browse files Browse the repository at this point in the history
  • Loading branch information
seleznevae committed May 7, 2018
1 parent b994e90 commit 4391bce
Showing 1 changed file with 189 additions and 13 deletions.
202 changes: 189 additions & 13 deletions example/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "fort.h"
#include <wchar.h>
#include <locale.h>
#include <string.h>

static ft_table_t *create_basic_table(void)
{
Expand Down Expand Up @@ -30,7 +31,7 @@ void print_char_str(const char *str)
printf("%x", (unsigned)*str);
str++;
}

printf("\n");
}

int main(void)
Expand Down Expand Up @@ -110,64 +111,239 @@ int main(void)

/*---------------- Different styles --------------------*/

const char *str = NULL;
const char *str_etalon = NULL;
ft_set_default_border_style(FT_BASIC_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"+------+--------------------------+------+--------+\n"
"| Rank | Title | Year | Rating |\n"
"+------+--------------------------+------+--------+\n"
"| 1 | The Shawshank Redemption | 1994 | 9.5 |\n"
"| 2 | 12 Angry Men | 1957 | 8.8 |\n"
"| 3 | It's a Wonderful Life | 1946 | 8.6 |\n"
"+------+--------------------------+------+--------+\n"
"| 4 | 2001: A Space Odyssey | 1968 | 8.5 |\n"
"| 5 | Blade Runner | 1982 | 8.1 |\n"
"+------+--------------------------+------+--------+\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_SIMPLE_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
" \n"
" Rank Title Year Rating \n"
" ------ -------------------------- ------ -------- \n"
" 1 The Shawshank Redemption 1994 9.5 \n"
" 2 12 Angry Men 1957 8.8 \n"
" 3 It's a Wonderful Life 1946 8.6 \n"
" ------ -------------------------- ------ -------- \n"
" 4 2001: A Space Odyssey 1968 8.5 \n"
" 5 Blade Runner 1982 8.1 \n"
" \n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_PLAIN_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
" ------------------------------------------------- \n"
" Rank Title Year Rating \n"
" ------------------------------------------------- \n"
" 1 The Shawshank Redemption 1994 9.5 \n"
" 2 12 Angry Men 1957 8.8 \n"
" 3 It's a Wonderful Life 1946 8.6 \n"
" ------------------------------------------------- \n"
" 4 2001: A Space Odyssey 1968 8.5 \n"
" 5 Blade Runner 1982 8.1 \n"
" \n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_DOT_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"...................................................\n"
": Rank : Title : Year : Rating :\n"
":......:..........................:......:........:\n"
": 1 : The Shawshank Redemption : 1994 : 9.5 :\n"
": 2 : 12 Angry Men : 1957 : 8.8 :\n"
": 3 : It's a Wonderful Life : 1946 : 8.6 :\n"
":......:..........................:......:........:\n"
": 4 : 2001: A Space Odyssey : 1968 : 8.5 :\n"
": 5 : Blade Runner : 1982 : 8.1 :\n"
":......:..........................:......:........:\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_EMPTY_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
" \n"
" Rank Title Year Rating \n"
" 1 The Shawshank Redemption 1994 9.5 \n"
" 2 12 Angry Men 1957 8.8 \n"
" 3 It's a Wonderful Life 1946 8.6 \n"
" \n"
" 4 2001: A Space Odyssey 1968 8.5 \n"
" 5 Blade Runner 1982 8.1 \n"
" \n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_SOLID_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"┌──────┬──────────────────────────┬──────┬────────┐\n"
"│ Rank │ Title │ Year │ Rating │\n"
"├──────┼──────────────────────────┼──────┼────────┤\n"
"│ 1 │ The Shawshank Redemption │ 1994 │ 9.5 │\n"
"│ 2 │ 12 Angry Men │ 1957 │ 8.8 │\n"
"│ 3 │ It's a Wonderful Life │ 1946 │ 8.6 │\n"
"├──────┼──────────────────────────┼──────┼────────┤\n"
"│ 4 │ 2001: A Space Odyssey │ 1968 │ 8.5 │\n"
"│ 5 │ Blade Runner │ 1982 │ 8.1 │\n"
"└──────┴──────────────────────────┴──────┴────────╯\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_SOLID_ROUND_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"╭──────┬──────────────────────────┬──────┬────────╮\n"
"│ Rank │ Title │ Year │ Rating │\n"
"├──────┼──────────────────────────┼──────┼────────┤\n"
"│ 1 │ The Shawshank Redemption │ 1994 │ 9.5 │\n"
"│ 2 │ 12 Angry Men │ 1957 │ 8.8 │\n"
"│ 3 │ It's a Wonderful Life │ 1946 │ 8.6 │\n"
"├──────┼──────────────────────────┼──────┼────────┤\n"
"│ 4 │ 2001: A Space Odyssey │ 1968 │ 8.5 │\n"
"│ 5 │ Blade Runner │ 1982 │ 8.1 │\n"
"╰──────┴──────────────────────────┴──────┴────────╯\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_DOUBLE_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"╔══════╦══════════════════════════╦══════╦════════╗\n"
"║ Rank ║ Title ║ Year ║ Rating ║\n"
"╠══════╬══════════════════════════╬══════╬════════╣\n"
"║ 1 ║ The Shawshank Redemption ║ 1994 ║ 9.5 ║\n"
"║ 2 ║ 12 Angry Men ║ 1957 ║ 8.8 ║\n"
"║ 3 ║ It's a Wonderful Life ║ 1946 ║ 8.6 ║\n"
"╠══════╬══════════════════════════╬══════╬════════╣\n"
"║ 4 ║ 2001: A Space Odyssey ║ 1968 ║ 8.5 ║\n"
"║ 5 ║ Blade Runner ║ 1982 ║ 8.1 ║\n"
"╚══════╩══════════════════════════╩══════╩════════╝\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_DOUBLE2_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"╔══════╤══════════════════════════╤══════╤════════╗\n"
"║ Rank │ Title │ Year │ Rating ║\n"
"╠══════╪══════════════════════════╪══════╪════════╣\n"
"║ 1 │ The Shawshank Redemption │ 1994 │ 9.5 ║\n"
"╟──────┼──────────────────────────┼──────┼────────╢\n"
"║ 2 │ 12 Angry Men │ 1957 │ 8.8 ║\n"
"╟──────┼──────────────────────────┼──────┼────────╢\n"
"║ 3 │ It's a Wonderful Life │ 1946 │ 8.6 ║\n"
"╠══════╪══════════════════════════╪══════╪════════╣\n"
"║ 4 │ 2001: A Space Odyssey │ 1968 │ 8.5 ║\n"
"╟──────┼──────────────────────────┼──────┼────────╢\n"
"║ 5 │ Blade Runner │ 1982 │ 8.1 ║\n"
"╚══════╧══════════════════════════╧══════╧════════╝\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_BOLD_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"┏━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━┓\n"
"┃ Rank ┃ Title ┃ Year ┃ Rating ┃\n"
"┣━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━╋━━━━━━━━┫\n"
"┃ 1 ┃ The Shawshank Redemption ┃ 1994 ┃ 9.5 ┃\n"
"┃ 2 ┃ 12 Angry Men ┃ 1957 ┃ 8.8 ┃\n"
"┃ 3 ┃ It's a Wonderful Life ┃ 1946 ┃ 8.6 ┃\n"
"┣━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━╋━━━━━━━━┫\n"
"┃ 4 ┃ 2001: A Space Odyssey ┃ 1968 ┃ 8.5 ┃\n"
"┃ 5 ┃ Blade Runner ┃ 1982 ┃ 8.1 ┃\n"
"┗━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━┻━━━━━━━━┛\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_BOLD2_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"┏━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━┯━━━━━━━━┓\n"
"┃ Rank │ Title │ Year │ Rating ┃\n"
"┣━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━┿━━━━━━━━┫\n"
"┃ 1 │ The Shawshank Redemption │ 1994 │ 9.5 ┃\n"
"┠──────┼──────────────────────────┼──────┼────────┨\n"
"┃ 2 │ 12 Angry Men │ 1957 │ 8.8 ┃\n"
"┠──────┼──────────────────────────┼──────┼────────┨\n"
"┃ 3 │ It's a Wonderful Life │ 1946 │ 8.6 ┃\n"
"┣━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━┿━━━━━━━━┫\n"
"┃ 4 │ 2001: A Space Odyssey │ 1968 │ 8.5 ┃\n"
"┠──────┼──────────────────────────┼──────┼────────┨\n"
"┃ 5 │ Blade Runner │ 1982 │ 8.1 ┃\n"
"┗━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━┷━━━━━━━━┛\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

ft_set_default_border_style(FT_FRAME_STYLE);
table = create_basic_table();
printf("Table:\n%s\n", ft_to_string(table));
str = ft_to_string(table);
printf("Table:\n%s\n", str);
print_char_str(str);
str_etalon =
"▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜\n"
"▌ Rank ┃ Title ┃ Year ┃ Rating ▐\n"
"▌━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━╋━━━━━━━━▐\n"
"▌ 1 ┃ The Shawshank Redemption ┃ 1994 ┃ 9.5 ▐\n"
"▌ 2 ┃ 12 Angry Men ┃ 1957 ┃ 8.8 ▐\n"
"▌ 3 ┃ It's a Wonderful Life ┃ 1946 ┃ 8.6 ▐\n"
"▌━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━╋━━━━━━━━▐\n"
"▌ 4 ┃ 2001: A Space Odyssey ┃ 1968 ┃ 8.5 ▐\n"
"▌ 5 ┃ Blade Runner ┃ 1982 ┃ 8.1 ▐\n"
"▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟\n";
printf("cmp result %d\n", (int)strcmp(str_etalon, str));
ft_destroy_table(table);

/* Debug */
Expand Down

0 comments on commit 4391bce

Please sign in to comment.