@@ -488,29 +488,8 @@ CASSANDRA_INTEGRATION_TYPED_TEST_P(CassandraTypesTests, List) {
488488 }
489489 Result result = this ->session_ .execute (select_statement);
490490 ASSERT_EQ (1u , result.row_count ());
491- // List<TypeParam> result_list(result.first_row().next().as<List<TypeParam> >());
492- // ASSERT_EQ(list.value(), result_list.value());
493- const CassValue *result_list (result.first_row ().next ().get_value ());
494-
495- bool is_collection = cass_value_is_collection (result_list);
496- EXPECT_TRUE (is_collection);
497-
498- size_t collection_size = cass_value_item_count (result_list);
499- ASSERT_EQ (list.size (), collection_size);
500-
501- CassIterator* collection_iterator = cass_iterator_from_collection (result_list);
502- std::vector<TypeParam> list_vector = list.value ();
503-
504- for (size_t j = 0 ; j < collection_size; ++j) {
505- if (cass_iterator_next (collection_iterator)) {
506- TypeParam value = TypeParam (cass_iterator_get_value (collection_iterator));
507- ASSERT_EQ (value, list_vector[j]);
508- } else {
509- throw Exception (" No more values available" );
510- }
511- }
512-
513- cass_iterator_free (collection_iterator);
491+ List<TypeParam> result_list (result.first_row ().next ().as <List<TypeParam> >());
492+ ASSERT_EQ (list.value (), result_list.value ());
514493 }
515494}
516495
@@ -563,29 +542,8 @@ CASSANDRA_INTEGRATION_TYPED_TEST_P(CassandraTypesTests, Set) {
563542 }
564543 Result result = this ->session_ .execute (select_statement);
565544 ASSERT_EQ (1u , result.row_count ());
566- // Set<TypeParam> result_set = result.first_row().next().as<Set<TypeParam> >();
567- // ASSERT_EQ(set.value(), result_set.value());
568- const CassValue *result_set (result.first_row ().next ().get_value ());
569-
570- bool is_collection = cass_value_is_collection (result_set);
571- EXPECT_TRUE (is_collection);
572-
573- size_t collection_size = cass_value_item_count (result_set);
574- ASSERT_EQ (set.size (), collection_size);
575-
576- CassIterator* collection_iterator = cass_iterator_from_collection (result_set);
577- std::set<TypeParam> set_elems = set.value ();
578-
579- for (size_t j = 0 ; j < collection_size; ++j) {
580- if (cass_iterator_next (collection_iterator)) {
581- TypeParam value = TypeParam (cass_iterator_get_value (collection_iterator));
582- EXPECT_TRUE (set_elems.find (value) != set_elems.end ());
583- } else {
584- throw Exception (" No more values available" );
585- }
586- }
587-
588- cass_iterator_free (collection_iterator);
545+ Set<TypeParam> result_set = result.first_row ().next ().as <Set<TypeParam> >();
546+ ASSERT_EQ (set.value (), result_set.value ());
589547 }
590548}
591549
@@ -636,30 +594,9 @@ CASSANDRA_INTEGRATION_TYPED_TEST_P(CassandraTypesTests, Map) {
636594 select_statement.bind <Map<TypeParam, TypeParam> >(0 , map);
637595 Result result = this ->session_ .execute (select_statement);
638596 ASSERT_EQ (1u , result.row_count ());
639- // Map<TypeParam, TypeParam> result_map(column.as<Map<TypeParam, TypeParam> >());
640- // ASSERT_EQ(map_values, result_map.value());
641- const CassValue *result_map = result.first_row ().next ().get_value ();
642-
643- bool is_collection = cass_value_is_collection (result_map);
644- EXPECT_TRUE (is_collection);
645-
646- size_t collection_size = cass_value_item_count (result_map);
647- ASSERT_EQ (map.size (), collection_size);
648-
649- CassIterator* collection_iterator = cass_iterator_from_collection (result_map);
650- std::map<TypeParam, TypeParam> map_entries = map.value ();
651-
652- for (size_t j = 0 ; j < collection_size; ++j) {
653- if (cass_iterator_next (collection_iterator)) {
654- TypeParam key = TypeParam (cass_iterator_get_map_key (collection_iterator));
655- TypeParam value = TypeParam (cass_iterator_get_map_value (collection_iterator));
656- ASSERT_EQ (value, map_entries[key]);
657- } else {
658- throw Exception (" No more values available" );
659- }
660- }
661-
662- cass_iterator_free (collection_iterator);
597+ Column column = result.first_row ().next ();
598+ Map<TypeParam, TypeParam> result_map (column.as <Map<TypeParam, TypeParam> >());
599+ ASSERT_EQ (map_values, result_map.value ());
663600 }
664601 } else {
665602 // Initialize the table and assign the values for the map
@@ -754,25 +691,8 @@ CASSANDRA_INTEGRATION_TYPED_TEST_P(CassandraTypesTests, Tuple) {
754691 }
755692 Result result = this ->session_ .execute (select_statement);
756693 ASSERT_EQ (1u , result.row_count ());
757- // Tuple result_tuple(result.first_row().next().as<Tuple>());
758- // ASSERT_EQ(values, result_tuple.values<TypeParam>());
759- const CassValue *result_tuple (result.first_row ().next ().get_value ());
760-
761- size_t collection_size = cass_value_item_count (result_tuple);
762- ASSERT_EQ (tuple.size (), collection_size);
763-
764- CassIterator* collection_iterator = cass_iterator_from_tuple (result_tuple);
765-
766- for (size_t j = 0 ; j < collection_size; ++j) {
767- if (cass_iterator_next (collection_iterator)) {
768- TypeParam value = TypeParam (cass_iterator_get_value (collection_iterator));
769- ASSERT_EQ (value, values[j]);
770- } else {
771- throw Exception (" No more values available" );
772- }
773- }
774-
775- cass_iterator_free (collection_iterator);
694+ Tuple result_tuple (result.first_row ().next ().as <Tuple>());
695+ ASSERT_EQ (values, result_tuple.values <TypeParam>());
776696 }
777697}
778698
0 commit comments