| // Copyright 2019 The Chromium OS 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 <base/logging.h> |
| #include <gtest/gtest.h> |
| |
| #include "biod/fp_mode.h" |
| |
| namespace biod { |
| |
| using Mode = FpMode::Mode; |
| |
| TEST(FpModeTest, Constructor) { |
| EXPECT_EQ(FpMode().mode(), Mode::kModeInvalid); |
| EXPECT_EQ(FpMode(Mode::kResetSensor).mode(), Mode::kResetSensor); |
| EXPECT_EQ(FpMode(1).mode(), Mode::kDeepsleep); |
| EXPECT_EQ(FpMode(UINT32_MAX).mode(), Mode::kModeInvalid); |
| } |
| |
| TEST(FpModeTest, Equality) { |
| EXPECT_EQ(FpMode(Mode::kResetSensor), FpMode(Mode::kResetSensor)); |
| EXPECT_NE(FpMode(Mode::kResetSensor), FpMode(Mode::kMatch)); |
| } |
| |
| TEST(FpModeTest, Ostream) { |
| std::ostringstream stream; |
| stream << "mode: " << FpMode(Mode::kResetSensor); |
| EXPECT_EQ(stream.str(), "mode: (enum: 10, raw: 0x80)"); |
| } |
| |
| TEST(FpModeTest, EnumVal) { |
| EXPECT_EQ(FpMode(Mode::kNone).EnumVal(), 0); |
| EXPECT_EQ(FpMode(Mode::kDeepsleep).EnumVal(), 1); |
| EXPECT_EQ(FpMode(Mode::kFingerDown).EnumVal(), 2); |
| EXPECT_EQ(FpMode(Mode::kFingerUp).EnumVal(), 3); |
| EXPECT_EQ(FpMode(Mode::kCapture).EnumVal(), 4); |
| EXPECT_EQ(FpMode(Mode::kEnrollSession).EnumVal(), 5); |
| EXPECT_EQ(FpMode(Mode::kEnrollSessionFingerUp).EnumVal(), 6); |
| EXPECT_EQ(FpMode(Mode::kEnrollSessionEnrollImage).EnumVal(), 7); |
| EXPECT_EQ(FpMode(Mode::kEnrollImage).EnumVal(), 8); |
| EXPECT_EQ(FpMode(Mode::kMatch).EnumVal(), 9); |
| EXPECT_EQ(FpMode(Mode::kResetSensor).EnumVal(), 10); |
| EXPECT_EQ(FpMode(Mode::kDontChange).EnumVal(), 11); |
| EXPECT_EQ(FpMode(Mode::kModeInvalid).EnumVal(), 12); |
| } |
| |
| TEST(FpModeTest, MaxEnumVal) { |
| EXPECT_EQ(FpMode().MaxEnumVal(), 12); |
| } |
| |
| TEST(FpModeTest, RawVal) { |
| EXPECT_EQ(FpMode(Mode::kNone).RawVal(), 0); |
| EXPECT_EQ(FpMode(Mode::kModeInvalid).RawVal(), 0); |
| |
| EXPECT_EQ(FpMode(Mode::kDeepsleep).RawVal(), 0x1); |
| EXPECT_EQ(FpMode(Mode::kFingerDown).RawVal(), 0x2); |
| EXPECT_EQ(FpMode(Mode::kFingerUp).RawVal(), 0x4); |
| EXPECT_EQ(FpMode(Mode::kCapture).RawVal(), 0x8); |
| EXPECT_EQ(FpMode(Mode::kEnrollSession).RawVal(), 0x10); |
| EXPECT_EQ(FpMode(Mode::kEnrollImage).RawVal(), 0x20); |
| EXPECT_EQ(FpMode(Mode::kMatch).RawVal(), 0x40); |
| EXPECT_EQ(FpMode(Mode::kResetSensor).RawVal(), 0x80); |
| EXPECT_EQ(FpMode(Mode::kDontChange).RawVal(), 0x80000000); |
| |
| EXPECT_EQ(FpMode(Mode::kEnrollSessionFingerUp).RawVal(), 0x14); |
| EXPECT_EQ(FpMode(Mode::kEnrollSessionEnrollImage).RawVal(), 0x30); |
| } |
| |
| } // namespace biod |