| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "src/developer/debug/zxdb/client/setting_value.h" |
| |
| #include <gtest/gtest.h> |
| |
| namespace zxdb { |
| |
| TEST(SettingValue, Boolean) { |
| SettingValue setting(false); |
| ASSERT_TRUE(setting.is_bool()); |
| EXPECT_FALSE(setting.get_bool()); |
| |
| setting = SettingValue(true); |
| EXPECT_TRUE(setting.get_bool()); |
| |
| setting.set_bool(false); |
| EXPECT_FALSE(setting.get_bool()); |
| } |
| |
| TEST(SettingValue, Int) { |
| SettingValue setting(0); |
| ASSERT_TRUE(setting.is_int()); |
| EXPECT_EQ(setting.get_int(), 0); |
| |
| constexpr int kTestInt = 43; |
| setting = SettingValue(kTestInt); |
| EXPECT_EQ(setting.get_int(), kTestInt); |
| |
| constexpr int kTestInt2 = 10; |
| setting.set_int(kTestInt2); |
| EXPECT_EQ(setting.get_int(), kTestInt2); |
| } |
| |
| const char kTestString[] = "test_string"; |
| const char kTestString2[] = "test_string2"; |
| const char kTestString3[] = "test_string3"; |
| |
| TEST(SettingValue, String) { |
| SettingValue setting(std::string{}); |
| ASSERT_TRUE(setting.is_string()); |
| EXPECT_TRUE(setting.get_string().empty()); |
| |
| setting = SettingValue(kTestString); |
| EXPECT_EQ(setting.get_string(), kTestString); |
| |
| setting = SettingValue(std::string(kTestString2)); |
| EXPECT_EQ(setting.get_string(), kTestString2); |
| |
| setting.set_string(kTestString3); |
| EXPECT_EQ(setting.get_string(), kTestString3); |
| } |
| |
| TEST(SettingValue, List) { |
| SettingValue setting(std::vector<std::string>{}); |
| ASSERT_TRUE(setting.is_list()); |
| EXPECT_TRUE(setting.get_list().empty()); |
| |
| setting = SettingValue(std::vector<std::string>{kTestString}); |
| ASSERT_EQ(setting.get_list().size(), 1u); |
| |
| setting.set_list({kTestString, kTestString2}); |
| ASSERT_EQ(setting.get_list().size(), 2u); |
| |
| auto it = setting.get_list().begin(); |
| EXPECT_EQ(*it++, kTestString); |
| EXPECT_EQ(*it++, kTestString2); |
| EXPECT_EQ(it, setting.get_list().end()); |
| } |
| |
| } // namespace zxdb |