Size: 898 bytes.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// cs/renderer/numbers/map_value_test.cc
#include "cs/renderer/numbers/map_value.hh"

#include "cs/renderer/numbers/in_range.hh"
#include "cs/renderer/precision/floats.hh"
#include "gmock/gmock.h"
#include "gtest/gtest.h"

using ::cs::numbers::in_range;
using ::cs::numbers::map_value;
using ::cs::renderer::precision::FloatsNear;

TEST(MapValueTest, TestInRange) {
  float value = 50.0f;
  float value_range_start = 0.0f;
  float value_range_end = 100.0f;
  float new_range_start = 10.0f;
  float new_range_end = 200.0f;

  float mapped_value =
      map_value(value, value_range_start, value_range_end,
                new_range_start, new_range_end);

  EXPECT_TRUE(FloatsNear(mapped_value, 105.0f));
}

TEST(InRangeTest, LowerInclusiveUpperExclusive) {
  EXPECT_TRUE(in_range(0, 0, 3));
  EXPECT_TRUE(in_range(2, 0, 3));
  EXPECT_FALSE(in_range(3, 0, 3));
  EXPECT_FALSE(in_range(-1, 0, 3));
}
v0 (commit) © 2025 @p13i.io | Load balancer proxied to: cs-code-viewer-3:8080 in 4ms.