Files
MuditaOS/module-db/tests/AlarmsRecord_tests.cpp
Marcin Smoczyński a9cb37d7f4 tests: add proper catch2 handling
Add proper catch2 support:
 - add catch2 as a submodule
 - add cmake function to add test easily
 - discover each test in test binary
 - remove copies of catch.hpp
 - do not try to process tests for rt1051

Do not test internals of utf8, only public interface (nasty bugs could
occur otherwise).

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2020-06-24 10:38:14 +02:00

55 lines
1.2 KiB
C++

/*
* AlarmsRecord_tests.cpp
*
* Created on: 16 lip 2019
* Author: kuba
*/
#include "vfs.hpp"
#include <catch2/catch.hpp>
#include <Interface/ContactRecord.hpp>
#include "Database/Database.hpp"
#include "Databases/AlarmsDB.hpp"
#include "Interface/AlarmsRecord.hpp"
#include <algorithm>
#include <iostream>
#include <cstdint>
#include <cstdio>
#include <cstring>
TEST_CASE("Alarms Record tests")
{
Database::Initialize();
vfs.remove(AlarmsDB::GetDBName());
auto alarmsDB = std::make_unique<AlarmsDB>();
REQUIRE(alarmsDB->IsInitialized());
AlarmsRecordInterface alarmsRecordInterface(alarmsDB.get());
auto alarmsRecord = alarmsRecordInterface.GetByID(1);
REQUIRE(alarmsRecord.ID == 1);
REQUIRE(alarmsRecord.time == 0);
REQUIRE(alarmsRecord.snooze == 0);
REQUIRE(alarmsRecord.status == 0);
REQUIRE(alarmsRecord.path == "");
alarmsRecord.time = 1234;
alarmsRecord.path = "awesome.mp3";
REQUIRE(alarmsRecordInterface.Update(alarmsRecord));
alarmsRecord = alarmsRecordInterface.GetByID(1);
REQUIRE(alarmsRecord.time == 1234);
REQUIRE(alarmsRecord.path == "awesome.mp3");
Database::Deinitialize();
}