2016-02-18 22:14:44 +00:00
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#define private public
|
|
|
|
#include "DCBattery.hh"
|
|
|
|
|
|
|
|
TEST( BatteryTest , one ) {
|
|
|
|
// Attempt to create an Battery
|
|
|
|
DCBattery * battery;
|
|
|
|
battery = new DCBattery(9.0, 2.0);
|
|
|
|
EXPECT_NE( (void*)0, battery);
|
|
|
|
//delete battery;
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST( BatteryTest , two ) {
|
|
|
|
// Test Ideal Voltage
|
|
|
|
DCBattery battery(9.0, 2.0);
|
|
|
|
EXPECT_DOUBLE_EQ( 9.0, battery.idealVoltage );
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST( BatteryTest , three ) {
|
|
|
|
// Test Internal Resistance
|
|
|
|
DCBattery battery(9.0, 2.0);
|
|
|
|
EXPECT_DOUBLE_EQ( 2, battery.internalResistance );
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST( BatteryTest , four ) {
|
|
|
|
// Test Actual Voltage doesnt go below zero
|
|
|
|
DCBattery battery(9.0, 2.0);
|
|
|
|
battery.setCurrent(6.0);
|
|
|
|
battery.update ();
|
|
|
|
EXPECT_DOUBLE_EQ( 0.0, battery.actualVoltage );
|
2016-11-08 09:25:07 +00:00
|
|
|
|
2016-02-18 22:14:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
TEST( BatteryTest , five ) {
|
|
|
|
// Test Actual Voltage under normal load
|
|
|
|
DCBattery battery(9.0, 2.0);
|
|
|
|
battery.setCurrent(4.0);
|
|
|
|
battery.update ();
|
|
|
|
EXPECT_DOUBLE_EQ( 1.0, battery.actualVoltage );
|
2016-11-08 09:25:07 +00:00
|
|
|
|
2016-02-18 22:14:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
TEST( BatteryTest , six ) {
|
|
|
|
// Test Actual Voltage doesnt go above Ideal Voltage
|
|
|
|
DCBattery battery(9.0, 2.0);
|
|
|
|
battery.setCurrent(-4.0);
|
|
|
|
battery.update ();
|
|
|
|
EXPECT_DOUBLE_EQ( 9.0, battery.actualVoltage );
|
2016-11-08 09:25:07 +00:00
|
|
|
|
2016-02-18 22:14:44 +00:00
|
|
|
}
|