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)); }
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)); }
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)); }
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)); }
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)); }
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)); } }
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); }
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); }
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); }
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); }
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); }
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); }