Exercise: ConstantSensor_nopoly (Non-Polymorphic)

Requirement

Implement a sensor class ConstantSensor_nopoly which does not access any real hardware, but rather always measures the same temperature - the one it is initialized with.

#include <gtest/gtest.h>
#include <sensor-const-nopoly.h>

TEST(sensor_const_nopoly_suite, basic)
{
    ConstantSensor_nopoly cs(36.4);

    ASSERT_FLOAT_EQ(cs.get_temperature(), 36.4);       // <--- Sensor interface
    ASSERT_FLOAT_EQ(cs.value(), 36.4);                 // <--- ConstantSensor specific interface
}

Topics Covered

cluster_c The C Programming Language cluster_c_introduction Introduction cluster_linux Linux cluster_linux_toolchain Toolchain, And Cross Development cluster_linux_basics Linux Basics cluster_linux_basics_intro Introduction: Concepts and Terminology cluster_linux_basics_shell The Shell (Bash - “Bourne Again Shell”) cluster_cxx03 C++ cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx C++: Miscellaneous Live-Hacking cluster_cxx_exercises C++ Exercises c_introduction_installation Installation linux_toolchain_static_library Object Code Archives/Static Libraries linux_toolchain_separate_compilation Zooming In: Separate Compilation, and Linking Statically linux_toolchain_static_library->linux_toolchain_separate_compilation linux_toolchain_basics Toolchain: Basics linux_basics_shell_file_dir_create_rm Creating And Removing Files and Directories linux_toolchain_basics->linux_basics_shell_file_dir_create_rm linux_toolchain_cmake_local CMake: Local Build linux_toolchain_cmake_local->linux_toolchain_static_library linux_toolchain_separate_compilation->linux_toolchain_basics linux_basics_intro_process Processes, Scheduling, Address Spaces linux_basics_intro_overview Overview linux_basics_intro_process->linux_basics_intro_overview linux_basics_shell_paths Absolute and Relative Paths linux_basics_shell_file_dir_create_rm->linux_basics_shell_paths linux_basics_shell_cwd Current Working Directory linux_basics_shell_file_dir_create_rm->linux_basics_shell_cwd linux_basics_shell_commandline Commandline linux_basics_shell_paths->linux_basics_shell_commandline linux_basics_shell_cwd->linux_basics_intro_process linux_basics_shell_cwd->linux_basics_shell_paths linux_basics_shell_cwd->linux_basics_shell_commandline linux_basics_shell_commandline->linux_basics_intro_overview cxx03_introduction Introduction cxx03_introduction->c_introduction_installation cxx03_data_encapsulation_classes_objects Classes and Objects cxx03_data_encapsulation_classes_objects->cxx03_introduction cxx03_data_encapsulation_c Object Oriented Programming In Good Ol’ C cxx03_data_encapsulation_classes_objects->cxx03_data_encapsulation_c cxx03_data_encapsulation_c->cxx03_introduction cxx_exercises_sensor_const_nopoly Exercise: ConstantSensor_nopoly (Non-Polymorphic) cxx_exercises_sensor_const_nopoly->linux_toolchain_cmake_local cxx_exercises_sensor_const_nopoly->cxx03_data_encapsulation_classes_objects