~libzeitgeist-developers/libzeitgeist/check-fts

« back to all changes in this revision

Viewing changes to tests/test-timestamp.c

  • Committer: Mikkel Kamstrup Erlandsen
  • Date: 2010-06-23 09:43:18 UTC
  • Revision ID: kamstrup@hardback-20100623094318-63ninowwp2hit69i
New API: Implement functions zeitgeist_timestamp_{next,prev}_midnight

Show diffs side-by-side

added added

removed removed

Lines of Context:
116
116
   * to track the numbers */
117
117
}
118
118
 
 
119
static void
 
120
test_prev_midnight (Fixture *fix, gconstpointer data)
 
121
{
 
122
  gint64 ts, midnight;
 
123
  gchar *iso;
 
124
  
 
125
  /* Check 2010-06-23T11:19:07Z */
 
126
  ts = G_GINT64_CONSTANT (1277284743659);
 
127
  
 
128
  /* Now the actual test */
 
129
  midnight = zeitgeist_timestamp_prev_midnight (ts);
 
130
  iso = zeitgeist_timestamp_to_iso8601(midnight);
 
131
  g_assert(g_str_has_prefix (iso, "2010-06-23T00:00:00"));
 
132
  g_free (iso);
 
133
  
 
134
  /* Pre midnight of 'midnight' should go one day back */
 
135
  midnight = zeitgeist_timestamp_prev_midnight (midnight);
 
136
  iso = zeitgeist_timestamp_to_iso8601(midnight);
 
137
  g_assert(g_str_has_prefix (iso, "2010-06-22T00:00:00"));
 
138
  g_free (iso);
 
139
}
 
140
 
 
141
static void
 
142
test_next_midnight (Fixture *fix, gconstpointer data)
 
143
{
 
144
  gint64 ts, midnight;
 
145
  gchar *iso;
 
146
  
 
147
  /* Check 2010-06-23T11:19:07Z */
 
148
  ts = G_GINT64_CONSTANT (1277284743659);
 
149
 
 
150
  /* Now the actual test */
 
151
  midnight = zeitgeist_timestamp_next_midnight (ts);
 
152
  iso = zeitgeist_timestamp_to_iso8601(midnight);
 
153
  g_assert(g_str_has_prefix (iso, "2010-06-24T00:00:00"));
 
154
  g_free (iso);
 
155
  
 
156
  /* Pre midnight of 'midnight' should go one day back */
 
157
  midnight = zeitgeist_timestamp_next_midnight (midnight);
 
158
  iso = zeitgeist_timestamp_to_iso8601(midnight);
 
159
  g_assert(g_str_has_prefix (iso, "2010-06-25T00:00:00"));
 
160
  g_free (iso);
 
161
}
 
162
 
119
163
int
120
164
main (int   argc,
121
165
      char *argv[])
135
179
              setup, test_now, teardown);
136
180
  g_test_add ("/Zeitgeist/Timestamp/TimeValConversion", Fixture, NULL,
137
181
              setup, test_timeval_conversion, teardown);
 
182
  g_test_add ("/Zeitgeist/Timestamp/PrevMidnight", Fixture, NULL,
 
183
              setup, test_prev_midnight, teardown);
 
184
  g_test_add ("/Zeitgeist/Timestamp/NextMidnight", Fixture, NULL,
 
185
              setup, test_next_midnight, teardown);
138
186
  
139
187
  return g_test_run();
140
188
}
 
 
b'\\ No newline at end of file'