// Copyright (c) 2012 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 "sync/api/sync_merge_result.h"
#include "base/location.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace syncer {
namespace {
typedef testing::Test SyncMergeResultTest;
TEST_F(SyncMergeResultTest, Unset) {
SyncMergeResult merge_result(BOOKMARKS);
EXPECT_FALSE(merge_result.error().IsSet());
EXPECT_EQ(0, merge_result.num_items_before_association());
EXPECT_EQ(0, merge_result.num_items_after_association());
EXPECT_EQ(0, merge_result.num_items_added());
EXPECT_EQ(0, merge_result.num_items_deleted());
EXPECT_EQ(0, merge_result.num_items_modified());
}
TEST_F(SyncMergeResultTest, SetError) {
SyncError error(FROM_HERE, SyncError::DATATYPE_ERROR, "message", BOOKMARKS);
SyncMergeResult merge_result(BOOKMARKS);
merge_result.set_error(error);
EXPECT_TRUE(merge_result.error().IsSet());
EXPECT_EQ(BOOKMARKS, merge_result.model_type());
}
TEST_F(SyncMergeResultTest, SetNumItemsBeforeAssociation) {
SyncMergeResult merge_result(BOOKMARKS);
EXPECT_EQ(0, merge_result.num_items_before_association());
merge_result.set_num_items_before_association(10);
EXPECT_EQ(10, merge_result.num_items_before_association());
}
TEST_F(SyncMergeResultTest, SetNumItemsAfterAssociation) {
SyncMergeResult merge_result(BOOKMARKS);
EXPECT_EQ(0, merge_result.num_items_after_association());
merge_result.set_num_items_after_association(10);
EXPECT_EQ(10, merge_result.num_items_after_association());
}
TEST_F(SyncMergeResultTest, SetNumItemsAdded) {
SyncMergeResult merge_result(BOOKMARKS);
EXPECT_EQ(0, merge_result.num_items_added());
merge_result.set_num_items_added(10);
EXPECT_EQ(10, merge_result.num_items_added());
}
TEST_F(SyncMergeResultTest, SetNumItemsDeleted) {
SyncMergeResult merge_result(BOOKMARKS);
EXPECT_EQ(0, merge_result.num_items_deleted());
merge_result.set_num_items_deleted(10);
EXPECT_EQ(10, merge_result.num_items_deleted());
}
TEST_F(SyncMergeResultTest, SetNumItemsModified) {
SyncMergeResult merge_result(BOOKMARKS);
EXPECT_EQ(0, merge_result.num_items_modified());
merge_result.set_num_items_modified(10);
EXPECT_EQ(10, merge_result.num_items_modified());
}
} // namespace
} // namespace syncer