diff --git a/test/pid_fancontroller_unittest.cpp b/test/pid_fancontroller_unittest.cpp
index ad646bf..abf9aaa 100644
--- a/test/pid_fancontroller_unittest.cpp
+++ b/test/pid_fancontroller_unittest.cpp
@@ -122,21 +122,21 @@
     // Fanspeed starts are Neutral.
     EXPECT_EQ(FanSpeedDirection::NEUTRAL, fp->getFanDirection());
 
-    // getMaxRPMRequest returns a higher value than 0, so the fans should be
-    // marked as speeding up.
-    EXPECT_CALL(z, getMaxRPMRequest()).WillOnce(Return(10.0));
+    // getMaxSetPointRequest returns a higher value than 0, so the fans should
+    // be marked as speeding up.
+    EXPECT_CALL(z, getMaxSetPointRequest()).WillOnce(Return(10.0));
     EXPECT_EQ(10.0, p->setptProc());
     EXPECT_EQ(FanSpeedDirection::UP, fp->getFanDirection());
 
-    // getMaxRPMRequest returns a lower value than 10, so the fans should be
-    // marked as slowing down.
-    EXPECT_CALL(z, getMaxRPMRequest()).WillOnce(Return(5.0));
+    // getMaxSetPointRequest returns a lower value than 10, so the fans should
+    // be marked as slowing down.
+    EXPECT_CALL(z, getMaxSetPointRequest()).WillOnce(Return(5.0));
     EXPECT_EQ(5.0, p->setptProc());
     EXPECT_EQ(FanSpeedDirection::DOWN, fp->getFanDirection());
 
-    // getMaxRPMRequest returns the same value, so the fans should be marked as
-    // neutral.
-    EXPECT_CALL(z, getMaxRPMRequest()).WillOnce(Return(5.0));
+    // getMaxSetPointRequest returns the same value, so the fans should be
+    // marked as neutral.
+    EXPECT_CALL(z, getMaxSetPointRequest()).WillOnce(Return(5.0));
     EXPECT_EQ(5.0, p->setptProc());
     EXPECT_EQ(FanSpeedDirection::NEUTRAL, fp->getFanDirection());
 }
diff --git a/test/pid_zone_unittest.cpp b/test/pid_zone_unittest.cpp
index e0ecd76..5da10f8 100644
--- a/test/pid_zone_unittest.cpp
+++ b/test/pid_zone_unittest.cpp
@@ -121,8 +121,8 @@
 
 TEST_F(PidZoneTest, RpmSetPoints_AddMaxClear_BehaveAsExpected)
 {
-    // Tests addSetPoint, clearSetPoints, determineMaxRPMRequest
-    // and getMinThermalRPMSetpoint.
+    // Tests addSetPoint, clearSetPoints, determineMaxSetPointRequest
+    // and getMinThermalSetpoint.
 
     // At least one value must be above the minimum thermal setpoint used in
     // the constructor otherwise it'll choose that value
@@ -133,15 +133,15 @@
     }
 
     // This will pull the maximum RPM setpoint request.
-    zone->determineMaxRPMRequest();
-    EXPECT_EQ(5000, zone->getMaxRPMRequest());
+    zone->determineMaxSetPointRequest();
+    EXPECT_EQ(5000, zone->getMaxSetPointRequest());
 
     // Clear the values, so it'll choose the minimum thermal setpoint.
     zone->clearSetPoints();
 
     // This will go through the RPM set point values and grab the maximum.
-    zone->determineMaxRPMRequest();
-    EXPECT_EQ(zone->getMinThermalRPMSetpoint(), zone->getMaxRPMRequest());
+    zone->determineMaxSetPointRequest();
+    EXPECT_EQ(zone->getMinThermalSetpoint(), zone->getMaxSetPointRequest());
 }
 
 TEST_F(PidZoneTest, RpmSetPoints_AddBelowMinimum_BehavesAsExpected)
@@ -156,10 +156,10 @@
     }
 
     // This will pull the maximum RPM setpoint request.
-    zone->determineMaxRPMRequest();
+    zone->determineMaxSetPointRequest();
 
     // Verifies the value returned in the minimal thermal rpm set point.
-    EXPECT_EQ(zone->getMinThermalRPMSetpoint(), zone->getMaxRPMRequest());
+    EXPECT_EQ(zone->getMinThermalSetpoint(), zone->getMaxSetPointRequest());
 }
 
 TEST_F(PidZoneTest, GetFailSafePercent_ReturnsExpected)
diff --git a/test/zone_mock.hpp b/test/zone_mock.hpp
index a81ddeb..cd97f1f 100644
--- a/test/zone_mock.hpp
+++ b/test/zone_mock.hpp
@@ -14,7 +14,7 @@
     MOCK_METHOD1(getCachedValue, double(const std::string&));
     MOCK_METHOD1(addSetPoint, void(double));
     MOCK_METHOD1(addRPMCeiling, void(double));
-    MOCK_CONST_METHOD0(getMaxRPMRequest, double());
+    MOCK_CONST_METHOD0(getMaxSetPointRequest, double());
     MOCK_CONST_METHOD0(getFailSafeMode, bool());
     MOCK_CONST_METHOD0(getFailSafePercent, double());
     MOCK_METHOD1(getSensor, Sensor*(const std::string&));
