// Copyright 2017 The Chromium 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 "components/ntp_snippets/time_serialization.h"

#include <vector>

#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace ntp_snippets {

TEST(TimeSerializationTest, TimeSerialization) {
  std::vector<base::Time> values_to_test = {
      base::Time::Min(), base::Time(),
      base::Time() + base::TimeDelta::FromHours(1), base::Time::Max()};
  for (const base::Time& value : values_to_test) {
    EXPECT_EQ(SerializeTime(value), value.ToInternalValue());
    EXPECT_EQ(base::Time::FromInternalValue(SerializeTime(value)), value);
    EXPECT_EQ(DeserializeTime(SerializeTime(value)), value);
  }
}

}  // namespace ntp_snippets
