solution_test.cpp
#define BOOST_TEST_MODULE SolutionTest
#include "solution.hpp"
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(SolutionSuite)
BOOST_AUTO_TEST_CASE(PlainTest1)
{
vector<int> nums1{1,2,2,1};
vector<int> nums2{2,2};
vector<int> results = Solution().intersection(nums1, nums2);
vector<int> expected{2};
sort(results.begin(), results.end());
sort(expected.begin(), expected.end());
BOOST_CHECK_EQUAL_COLLECTIONS(results.begin(), results.end(), expected.begin(), expected.end());
}
BOOST_AUTO_TEST_CASE(PlainTest2)
{
vector<int> nums1{4,9,5};
vector<int> nums2{9,4,9,8,4};
vector<int> results = Solution().intersection(nums1, nums2);
vector<int> expected{9,4};
sort(results.begin(), results.end());
sort(expected.begin(), expected.end());
BOOST_CHECK_EQUAL_COLLECTIONS(results.begin(), results.end(), expected.begin(), expected.end());
}
BOOST_AUTO_TEST_SUITE_END()
安装Visual Studio
这里不详述VS的安装过程,只是提示一下需要安装的组件。
需要注意Visual Studio Community 2019 Preview版本在编译Boost不能被正确识别,需要安装正式版。Visual Studio Community 2017/2019 两个版本我都试验过,这里以2019版本为例。

只需要安装“使用C++的桌面开发”这一套组件就可以了。

安装CMake和Ninja
CMake可以下载名为cmake-3.17.2-win64-x64.msi 的安装包来安装,Ninja 下载之后只有一个可执行文件,可以随意放在一个目录下。
安装过程暂不详述,只需要注意安装完成之后要设置一下环境变量。

设置好环境变量之后,可以重新打开命令行工具或终端,检查一下CMake和Ninja的版本,看是否设置成功。

下载和编译Boost
Boost可以从这个链接下载: https://dl.bintray.com/boostorg/release/1.73.0/source/ ,然后解压到某个目录下。
Boost本身是header-only的,即大部分情况下只需要包含其头文件就能直接调用。但为了便于把我们自己的程序链接到Boost的单元测试模块(Boost.Test),这里需要编译一下Boost,产生静态库文件。
Command Prompt的使用
由于我们之前已经安装了Visual Studio以及在Windows平台编译C++所需的编译工具和依赖库,所以我们可以直接利用VS提供的环境来编译Boost。
在开始菜单的“Visual Studio 2019”目录下可以发现几个命令行工具,我们可以打开一个名为“x64 Native Tools Command Prompt for VS 2019”的命令行工具,这个图标在硬盘上对应到










