test_vector.cpp 1.3 KB
#define CATCH_CONFIG_MAIN  // 宏定义指明main()函数
#include "catch.hpp"

#include <string>
#include <vector>

// TEST_CASE("spserver http", "[http]") {
//   std::vector<int> row = {0, 1, 0, 1, 0, 1, 0, 1, 0};
//   std::string rule = "01011010";
//   std::vector<int> expected_result = {1, 0, 0, 0, 0, 0, 0, 0, 1};
//   REQUIRE(evolve(row, rule) == expected_result);
// }

// 测试用例
TEST_CASE( "vectors can be sized and resized", "[vector]" ) 
{
 
    std::vector<int> v( 5 );
 
    REQUIRE( v.size() == 5 );
    REQUIRE( v.capacity() >= 5 );
 
    SECTION( "resizing bigger changes size and capacity" ) {
        v.resize( 10 );
 
        REQUIRE( v.size() == 10 );
        REQUIRE( v.capacity() >= 10 );
    }
    SECTION( "resizing smaller changes size but not capacity" ) {
        v.resize( 0 );
 
        REQUIRE( v.size() == 0 );
        REQUIRE( v.capacity() >= 5 );
    }
    SECTION( "reserving bigger changes capacity but not size" ) {
        v.reserve( 10 );
 
        REQUIRE( v.size() == 5 );
        REQUIRE( v.capacity() >= 10 );
    }
    SECTION( "reserving smaller does not change size or capacity" ) {
        v.reserve( 0 );
 
        REQUIRE( v.size() == 5 );
        REQUIRE( v.capacity() >= 5 );
    }
}