/
UCS
/
sqlite_orm
Обзор
Документация
Войти
/
UCS
/
sqlite_orm
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/static_tests/is_primary_key_insertable.cpp
32 строки
1 KB
klaus triendl
Updated to Catch2 v3
15 янв 2023, 22:59
15 янв 2023, 22:59
3154d24
Код
Авторство
О чём код?
#include <sqlite_orm/sqlite_orm.h> #include <catch2/catch_all.hpp> #include <type_traits> // std::std::decay using namespace sqlite_orm; TEST_CASE("is_primary_key_insertable") { struct User { int id; std::string username; std::string password; bool isActive; }; auto insertable = std::make_tuple( /// make_column("", &User::id, primary_key()), make_column("", &User::username, primary_key(), default_value("Clint Eastwood")), make_column("", &User::username, primary_key(), default_value(std::vector<int>{})), make_column("", &User::username, primary_key().autoincrement())); auto noninsertable = std::make_tuple( /// make_column("", &User::username, primary_key()), make_column("", &User::password, primary_key())); iterate_tuple(insertable, [](auto& v) { STATIC_REQUIRE(internal::is_primary_key_insertable<std::decay_t<decltype(v)>>::value); }); iterate_tuple(noninsertable, [](auto& v) { STATIC_REQUIRE(!internal::is_primary_key_insertable<std::decay_t<decltype(v)>>::value); }); }