blob: 19b1427ed272145bdbcf8f1981bc40972b7fc314 [file] [log] [blame]
// Copyright 2016 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 "lib/fsl/vmo/vector.h"
#include "gtest/gtest.h"
namespace fsl {
namespace {
TEST(VmoVector, ShortVector) {
std::vector<char> v(123, 'f');
fsl::SizedVmo sb;
EXPECT_TRUE(VmoFromVector(v, &sb));
std::vector<char> v_out;
EXPECT_TRUE(VectorFromVmo(std::move(sb), &v_out));
EXPECT_EQ(v, v_out);
}
TEST(VmoVector, EmptyVector) {
std::vector<char> v;
fsl::SizedVmo sb;
EXPECT_TRUE(VmoFromVector(v, &sb));
std::vector<char> v_out;
EXPECT_TRUE(VectorFromVmo(std::move(sb), &v_out));
EXPECT_EQ(v, v_out);
}
TEST(VmoVector, ShortUnsignedVector) {
std::vector<uint8_t> v(123, 42);
fsl::SizedVmo sb;
EXPECT_TRUE(VmoFromVector(v, &sb));
std::vector<uint8_t> v_out;
EXPECT_TRUE(VectorFromVmo(std::move(sb), &v_out));
EXPECT_EQ(v, v_out);
}
TEST(VmoVector, EmptyUnsignedVector) {
std::vector<uint8_t> v;
fsl::SizedVmo sb;
EXPECT_TRUE(VmoFromVector(v, &sb));
std::vector<uint8_t> v_out;
EXPECT_TRUE(VectorFromVmo(std::move(sb), &v_out));
EXPECT_EQ(v, v_out);
}
} // namespace
} // namespace fsl