Settings variable minimum/maximum, additional tests

This commit is contained in:
Dan Paulat 2022-12-06 22:54:38 -06:00
parent db665ed9ec
commit 08b1d6e152
3 changed files with 67 additions and 11 deletions

View file

@ -9,6 +9,50 @@ namespace qt
namespace settings
{
TEST(SettingsVariableTest, Boolean)
{
SettingsVariable<bool> boolVariable {"bool"};
boolVariable.SetDefault(true);
boolVariable.SetValue(false);
EXPECT_EQ(boolVariable.name(), "bool");
EXPECT_EQ(boolVariable.GetValue(), false);
EXPECT_EQ(boolVariable.SetValue(true), true);
EXPECT_EQ(boolVariable.GetValue(), true);
EXPECT_EQ(boolVariable.SetValueOrDefault(false), true);
EXPECT_EQ(boolVariable.GetValue(), false);
}
TEST(SettingsVariableTest, Integer)
{
SettingsVariable<int64_t> intVariable {"int64_t"};
intVariable.SetDefault(42);
intVariable.SetMinimum(10);
intVariable.SetMaximum(99);
intVariable.SetValue(50);
EXPECT_EQ(intVariable.name(), "int64_t");
EXPECT_EQ(intVariable.GetValue(), 50);
EXPECT_EQ(intVariable.SetValue(0), false);
EXPECT_EQ(intVariable.GetValue(), 50);
EXPECT_EQ(intVariable.SetValueOrDefault(0), false); // < Minimum
EXPECT_EQ(intVariable.GetValue(), 10);
EXPECT_EQ(intVariable.SetValueOrDefault(100), false); // > Maximum
EXPECT_EQ(intVariable.GetValue(), 99);
intVariable.SetValueToDefault();
EXPECT_EQ(intVariable.GetValue(), 42);
EXPECT_EQ(intVariable.SetValue(43), true);
EXPECT_EQ(intVariable.GetValue(), 43);
EXPECT_EQ(intVariable.SetValueOrDefault(57), true);
EXPECT_EQ(intVariable.GetValue(), 57);
EXPECT_EQ(intVariable.StageValue(0), false);
EXPECT_EQ(intVariable.StageValue(50), true);
EXPECT_EQ(intVariable.GetValue(), 57);
intVariable.Commit();
EXPECT_EQ(intVariable.GetValue(), 50);
}
TEST(SettingsVariableTest, String)
{
SettingsVariable<std::string> stringVariable {"string"};