telebotxx/tests/TestTypes.cpp
Kirill Kirilenko 90d2c2dc96 Full constructor removed from class User.
User::toString() implemented.
operator<< (User) implemented.
2016-11-09 19:44:19 +03:00

47 lines
1.2 KiB
C++

#include "TestGlobal.hpp"
#include <telebotxx/User.hpp>
using namespace telebotxx;
BOOST_AUTO_TEST_SUITE(TestUser)
BOOST_AUTO_TEST_CASE(DefaultConstructor)
{
PRINT_TESTNAME;
BOOST_REQUIRE_NO_THROW(User user);
}
BOOST_AUTO_TEST_CASE(CopyConstructor)
{
PRINT_TESTNAME;
User other;
other.setId(1);
other.setFirstName("John");
other.setLastName("Smith");
other.setUsername("john_smith");
std::unique_ptr<User> user;
BOOST_REQUIRE_NO_THROW(user.reset(new User(other)));
BOOST_REQUIRE_EQUAL(user->getId(), 1);
BOOST_REQUIRE_EQUAL(user->getFirstName(), "John");
BOOST_REQUIRE_EQUAL(user->getLastName(), "Smith");
BOOST_REQUIRE_EQUAL(user->getUsername(), "john_smith");
}
BOOST_AUTO_TEST_CASE(MoveConstructor)
{
PRINT_TESTNAME;
User other;
other.setId(1);
other.setFirstName("John");
other.setLastName("Smith");
other.setUsername("john_smith");
std::unique_ptr<User> user;
BOOST_REQUIRE_NO_THROW(user.reset(new User(std::move(other))));
BOOST_REQUIRE_EQUAL(user->getId(), 1);
BOOST_REQUIRE_EQUAL(user->getFirstName(), "John");
BOOST_REQUIRE_EQUAL(user->getLastName(), "Smith");
BOOST_REQUIRE_EQUAL(user->getUsername(), "john_smith");
}
BOOST_AUTO_TEST_SUITE_END()