Beispiel #1
0
void
test_text_to_int8(void)
{
  grn_obj_reinit(&context, &dest, GRN_DB_INT8, 0);
  cast_text("-29");
  cut_assert_equal_int(-29, GRN_INT8_VALUE(&dest));
}
Beispiel #2
0
void
test_text_to_float(void)
{
  grn_obj_reinit(&context, &dest, GRN_DB_FLOAT, 0);
  cast_text("29.029");
  cut_assert_equal_double(29.029, 0.001, GRN_FLOAT_VALUE(&dest));
}
Beispiel #3
0
void
test_text_to_uint32(void)
{
  grn_obj_reinit(&context, &dest, GRN_DB_UINT32, 0);
  cast_text("29292929");
  cut_assert_equal_uint(29292929, GRN_UINT32_VALUE(&dest));
}
Beispiel #4
0
void
test_text_to_uint64(void)
{
  grn_obj_reinit(&context, &dest, GRN_DB_UINT64, 0);
  cast_text("2929292929292929");
  gcut_assert_equal_uint64(G_GUINT64_CONSTANT(2929292929292929),
                           GRN_UINT64_VALUE(&dest));
}
Beispiel #5
0
void
test_text_to_bool(gconstpointer data)
{
  grn_obj_reinit(&context, &dest, GRN_DB_BOOL, 0);
  cast_text(gcut_data_get_string(data, "text"));
  cut_assert_equal_boolean(gcut_data_get_uint(data, "expected"),
                           GRN_BOOL_VALUE(&dest));
}
Beispiel #6
0
void
test_text_to_table(gconstpointer data)
{
  gsize expected_size;

  grn_obj_reinit(&context, &dest, users, 0);
  expected_size = gcut_data_get_size(data, "expected-size");
  if (expected_size == 0) {
    cast_text(GRN_INVALID_ARGUMENT, gcut_data_get_string(data, "text"));
    cut_assert_equal_uint(0, GRN_BULK_VSIZE(&dest));
  } else {
    cast_text(GRN_SUCCESS, gcut_data_get_string(data, "text"));
    grn_test_assert_equal_record_id(&context,
                                    grn_ctx_at(&context, users),
                                    gcut_data_get_uint(data, "expected"),
                                    GRN_RECORD_VALUE(&dest));
    cut_assert_equal_uint(expected_size, GRN_BULK_VSIZE(&dest));
  }
}
Beispiel #7
0
void
test_text_to_geo_point_mixed_comma(void)
{
  gint takane_latitude, takane_longitude;

  grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
  cast_text("35.6954581363924,503802073");
  GRN_GEO_POINT_VALUE(&dest, takane_latitude, takane_longitude);
  cut_assert_equal_int(128503649, takane_latitude);
  cut_assert_equal_int(503802073, takane_longitude);
}
Beispiel #8
0
void
test_text_to_geo_point_in_degree_comma(void)
{
  gint takane_latitude, takane_longitude;

  grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
  cast_text("35.6954581363924,139.564207350021");
  GRN_GEO_POINT_VALUE(&dest, takane_latitude, takane_longitude);
  cut_assert_equal_int(128503649, takane_latitude);
  cut_assert_equal_int(502431146, takane_longitude);
}
Beispiel #9
0
void
test_text_to_geo_point_comma(void)
{
  gint takane_latitude, takane_longitude;

  grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
  cast_text("130194581,503802073");
  GRN_GEO_POINT_VALUE(&dest, takane_latitude, takane_longitude);
  cut_assert_equal_int(130194581, takane_latitude);
  cut_assert_equal_int(503802073, takane_longitude);
}
Beispiel #10
0
void
test_text_to_time(void)
{
  long long int sec, usec;

  grn_obj_reinit(&context, &dest, GRN_DB_TIME, 0);
  cast_text("2009/11/24 05:52:10.02929");
  GRN_TIME_UNPACK(GRN_TIME_VALUE(&dest), sec, usec);
  cut_assert_equal_int(1259009530, sec);
  cut_assert_equal_int(29290, usec);
}
Beispiel #11
0
void
test_text_to_geo_point_empty(void)
{
  gint empty_latitude, empty_longitude;

  grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
  cast_text("");
  GRN_GEO_POINT_VALUE(&dest, empty_latitude, empty_longitude);
  cut_assert_equal_int(0, empty_latitude);
  cut_assert_equal_int(0, empty_longitude);
}
Beispiel #12
0
void
test_text_to_geo_point_garbage(void)
{
  gint takane_latitude, takane_longitude;

  grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
#define GEO_TEXT "130194581x503802073"
  set_text(GEO_TEXT ".0");
  cast_text(GEO_TEXT);
#undef GEO_TEXT
  GRN_GEO_POINT_VALUE(&dest, takane_latitude, takane_longitude);
  cut_assert_equal_int(130194581, takane_latitude);
  cut_assert_equal_int(503802073, takane_longitude);
}