1
#include <glib.h>
2
#include <libipuz/libipuz.h>
3
#include <locale.h>
4

            
5

            
6
static void
7
1
test_clue_sets_duplicates (void)
8
{
9
1
  g_autoptr (IPuzPuzzle) puzzle = NULL;
10
1
  GError *error = NULL;
11
  gchar *path;
12

            
13
1
  setlocale(LC_ALL, "en_US.utf8");
14

            
15
1
  path = g_test_build_filename (G_TEST_DIST, "clue-sets-fail.ipuz", NULL);
16
1
  puzzle = ipuz_puzzle_new_from_file (path, &error);
17
1
  g_free (path);
18

            
19
  /* FIXME(tests): This one should actually fail. */
20
  //  g_assert (puzzle == NULL);
21
1
}
22

            
23
static void
24
1
test_clue_sets_one_custom (void)
25
{
26
1
  g_autoptr (IPuzPuzzle) puzzle = NULL;
27
1
  GError *error = NULL;
28
  gchar *path;
29

            
30
1
  setlocale(LC_ALL, "en_US.utf8");
31

            
32
1
  path = g_test_build_filename (G_TEST_DIST, "clue-sets1.ipuz", NULL);
33
1
  puzzle = ipuz_puzzle_new_from_file (path, &error);
34
1
  g_free (path);
35

            
36
1
  if (error != NULL)
37
    {
38
      g_print ("Error: %s\n", error->message);
39
    }
40
1
  g_assert (puzzle != NULL);
41

            
42
1
  g_assert (ipuz_crossword_get_n_clue_sets (IPUZ_CROSSWORD (puzzle)) == 2);
43

            
44
1
}
45

            
46
static void
47
1
test_clue_sets_two_customs (void)
48
{
49
1
  g_autoptr (IPuzPuzzle) puzzle = NULL;
50
1
  GError *error = NULL;
51
  gchar *path;
52

            
53
1
  setlocale(LC_ALL, "en_US.utf8");
54

            
55
1
  path = g_test_build_filename (G_TEST_DIST, "clue-sets2.ipuz", NULL);
56
1
  puzzle = ipuz_puzzle_new_from_file (path, &error);
57
1
  g_free (path);
58

            
59
1
  if (error != NULL)
60
    {
61
      g_print ("Error: %s\n", error->message);
62
    }
63
1
  g_assert (puzzle != NULL);
64

            
65
1
  ipuz_crossword_print (IPUZ_CROSSWORD (puzzle));
66
1
}
67

            
68
int
69
1
main (int   argc,
70
      char *argv[])
71
{
72
1
  g_test_init (&argc, &argv, NULL);
73

            
74
1
  g_test_add_func ("/clue-sets/duplicates", test_clue_sets_duplicates);
75
1
  g_test_add_func ("/clue-sets/one-custom", test_clue_sets_one_custom);
76
1
  g_test_add_func ("/clue-sets/two-customs", test_clue_sets_two_customs);
77

            
78
1
  return g_test_run ();
79
}
80