Skip to content
Snippets Groups Projects
TemplateUtilTest.cpp 763 B
Newer Older
  • Learn to ignore specific revisions
  • // SPDX-License-Identifier: LGPL-3.0-or-later
    // Copyright © 2021 Florian Schmaus
    #include <gtest/gtest.h>
    
    #include <array>
    #include <cstddef>
    #include <cstdint>
    #include <memory>
    
    #include "lib/template_util.hpp"
    
    namespace tu = emper::lib::template_util;
    
    template <typename T>
    void test_getSize(T& t, size_t expected) {
    	size_t actual = tu::getSize(t);
    	ASSERT_EQ(actual, expected);
    }
    
    // NOLINTNEXTLINE(modernize-use-trailing-return-type)
    TEST(getSize, simple_uint8_t) {
    	const size_t bytes = 42;
    	std::array<uint8_t, bytes> array;
    	test_getSize(array, bytes);
    }
    
    // NOLINTNEXTLINE(modernize-use-trailing-return-type)
    TEST(getSize, simple_uint32_t) {
    	const size_t elements = 42;
    	std::array<uint32_t, elements> array;
    	test_getSize(array, elements * 4);
    }