LCOV - code coverage report
Current view: top level - elsa/core/tests - test_MaybeUninitialized.cpp (source / functions) Hit Total Coverage
Test: coverage-all.lcov Lines: 38 38 100.0 %
Date: 2023-01-26 04:22:16 Functions: 10 10 100.0 %

          Line data    Source code
       1             : #include "doctest/doctest.h"
       2             : 
       3             : #include "MaybeUninitialized.hpp"
       4             : 
       5             : TEST_CASE_TEMPLATE("MaybeUninitialized: Construction without value", data_t, float, double)
       6           2 : {
       7           2 :     elsa::MaybeUninitialized<data_t> uninit;
       8             : 
       9           2 :     CHECK_UNARY_FALSE(uninit.isInitialized());
      10           2 : }
      11             : 
      12             : TEST_CASE_TEMPLATE("MaybeUninitialized: Assign to uninitialized", data_t, float, double)
      13           2 : {
      14           2 :     elsa::MaybeUninitialized<data_t> uninit;
      15             : 
      16           2 :     CHECK_UNARY_FALSE(uninit.isInitialized());
      17             : 
      18           2 :     uninit = 5.0;
      19             : 
      20           2 :     CHECK_UNARY(uninit.isInitialized());
      21           2 :     CHECK_EQ(*uninit, data_t(5.0));
      22           2 : }
      23             : 
      24             : TEST_CASE_TEMPLATE("MaybeUninitialized: Construction with value", data_t, float, double)
      25           2 : {
      26           2 :     elsa::MaybeUninitialized<data_t> uninit(data_t(5.0));
      27             : 
      28           2 :     CHECK_UNARY(uninit.isInitialized());
      29           2 :     CHECK_EQ(*uninit, data_t(5.0));
      30           2 : }
      31             : 
      32             : TEST_CASE_TEMPLATE("MaybeUninitialized: Construction with value", data_t, float, double)
      33           2 : {
      34           2 :     data_t value = 12.0;
      35           2 :     elsa::MaybeUninitialized<data_t> uninit(value);
      36             : 
      37           2 :     CHECK_UNARY(uninit.isInitialized());
      38           2 :     CHECK_EQ(*uninit, value);
      39           2 : }
      40             : 
      41             : TEST_CASE_TEMPLATE("MaybeUninitialized: Compare equality", data_t, float, double)
      42           2 : {
      43           2 :     elsa::MaybeUninitialized<data_t> uninit1;
      44           2 :     elsa::MaybeUninitialized<data_t> uninit2;
      45             : 
      46           2 :     CHECK_EQ(uninit1, uninit1);
      47           2 :     CHECK_EQ(uninit1, uninit2);
      48             : 
      49           2 :     uninit1 = 4;
      50             : 
      51           2 :     CHECK_NE(uninit1, uninit2);
      52           2 :     CHECK_NE(uninit2, uninit1);
      53             : 
      54           2 :     uninit1 = 2;
      55             : 
      56           2 :     CHECK_NE(uninit1, uninit2);
      57           2 :     CHECK_NE(uninit2, uninit1);
      58             : 
      59           2 :     uninit1 = 6;
      60           2 :     uninit2 = 6;
      61             : 
      62           2 :     CHECK_EQ(uninit1, uninit2);
      63           2 :     CHECK_EQ(uninit2, uninit1);
      64           2 : }

Generated by: LCOV version 1.14