blob: 3dd3bcc46710303321d207dfae14129e91887449 [file] [edit]
// Copyright 2023 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "biod/session.h"
#include <memory>
#include <utility>
#include <gtest/gtest.h>
#include "biod/biometrics_manager.h"
#include "biod/mock_biometrics_manager.h"
namespace biod {
namespace {
TEST(SessionTest, MoveConstructor) {
MockBiometricsManager mock_biometrics_manager;
BiometricsManager::EnrollSession enroll_session_1(
mock_biometrics_manager.session_weak_factory_.GetWeakPtr());
ASSERT_TRUE(enroll_session_1);
BiometricsManager::EnrollSession enroll_session_2(
std::move(enroll_session_1));
EXPECT_FALSE(enroll_session_1);
EXPECT_TRUE(enroll_session_2);
}
TEST(SessionTest, MoveAssignment) {
MockBiometricsManager mock_biometrics_manager;
BiometricsManager::EnrollSession enroll_session_1(
mock_biometrics_manager.session_weak_factory_.GetWeakPtr());
BiometricsManager::EnrollSession enroll_session_2;
ASSERT_TRUE(enroll_session_1);
ASSERT_FALSE(enroll_session_2);
enroll_session_2 = std::move(enroll_session_1);
EXPECT_FALSE(enroll_session_1);
EXPECT_TRUE(enroll_session_2);
}
TEST(SessionTest, EndValidSession) {
MockBiometricsManager mock_biometrics_manager;
BiometricsManager::EnrollSession enroll_session_1(
mock_biometrics_manager.session_weak_factory_.GetWeakPtr());
ASSERT_TRUE(enroll_session_1);
enroll_session_1.End();
EXPECT_FALSE(enroll_session_1);
}
TEST(SessionTest, EndInvalidSession) {
BiometricsManager::EnrollSession enroll_session_1;
ASSERT_FALSE(enroll_session_1);
enroll_session_1.End();
EXPECT_FALSE(enroll_session_1);
}
} // namespace
} // namespace biod