// Smoke test for the header-only part of Boost shipped in libboost-dev.

#include <boost/algorithm/string.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/version.hpp>

#include <cassert>
#include <iostream>
#include <string>
#include <vector>

int main()
{
    std::cout << "Boost version: " << BOOST_LIB_VERSION << std::endl;
    assert(BOOST_VERSION > 0);

    std::string s = "  Debian,Boost,Autopkgtest  ";
    boost::trim(s);
    boost::to_lower(s);

    std::vector<std::string> parts;
    boost::split(parts, s, boost::is_any_of(","));

    std::cout << "parts: " << boost::join(parts, " | ") << std::endl;

    assert(parts.size() == 3);
    assert(parts[0] == "debian");
    assert(parts[2] == "autopkgtest");

    assert(boost::lexical_cast<int>("42") == 42);
    assert(boost::lexical_cast<std::string>(42) == "42");

    return 0;
}
