null+****@clear*****
null+****@clear*****
2011年 8月 8日 (月) 11:20:54 JST
Kouhei Sutou 2011-08-08 02:20:54 +0000 (Mon, 08 Aug 2011) New Revision: 02142439e880b2d1d473dc40d8d5902eb928262c Log: [test][load] add a test for load --each for {...}. refs #1044 Modified files: test/unit/core/test-command-load.c Modified: test/unit/core/test-command-load.c (+42 -0) =================================================================== --- test/unit/core/test-command-load.c 2011-08-06 10:07:21 +0000 (d0879c8) +++ test/unit/core/test-command-load.c 2011-08-08 02:20:54 +0000 (32370d6) @@ -39,6 +39,7 @@ void test_invalid_start_with_symbol(void); void test_no_key_table_without_columns(void); void test_nonexistent_table_name(void); void test_invalid_table_name(void); +void test_each_brace(void); static gchar *tmp_directory; static const gchar *database_path; @@ -494,3 +495,44 @@ test_invalid_table_name(void) "[\"_key\": \"alice\"]\n" "]"); } + +void +test_each_brace(void) +{ + gdouble tokyo_tocho_latitude = 35.689444; + gdouble tokyo_tocho_longitude = 139.691667; + gdouble yurakucho_latitude = 35.67487; + gdouble yurakucho_longitude = 139.76352; + gdouble asagaya_latitude = 35.70452; + gdouble asagaya_longitude = 139.6351; + + assert_send_command("table_create Users TABLE_HASH_KEY ShortText"); + assert_send_command("column_create Users location " + "COLUMN_SCALAR WGS84GeoPoint"); + assert_send_command("column_create Users distance_from_tokyo_tocho " + "COLUMN_SCALAR UInt32"); + cut_assert_equal_string( + "2", + send_command( + cut_take_printf( + "load " + "--table Users " + "--each 'distance_from_tokyo_tocho = geo_distance(location, \"%s\")' " + "--values " + "'[" + "{\"_key\": \"alice\", \"location\": \"%s\"}," + "{\"_key\": \"bob\", \"location\": \"%s\"}" + "]'", + grn_test_location_string(tokyo_tocho_latitude, tokyo_tocho_longitude), + grn_test_location_string(yurakucho_latitude, yurakucho_longitude), + grn_test_location_string(asagaya_latitude, asagaya_longitude)))); + cut_assert_equal_string( + "[[[2]," + "[[\"_id\",\"UInt32\"]," + "[\"_key\",\"ShortText\"]," + "[\"location\",\"WGS84GeoPoint\"]," + "[\"distance_from_tokyo_tocho\",\"UInt32\"]]," + "[1,\"alice\",\"128429532x503148672\",6674]," + "[2,\"bob\",\"128536272x502686360\",5364]]]", + send_command("select Users")); +}