OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "sync/notifier/object_id_invalidation_map.h" |
| 6 |
| 7 #include "google/cacheinvalidation/types.pb.h" |
| 8 |
| 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 |
| 11 namespace syncer { |
| 12 |
| 13 namespace { |
| 14 |
| 15 class ObjectIdInvalidationMapTest : public testing::Test { |
| 16 public: |
| 17 ObjectIdInvalidationMapTest() |
| 18 : kIdOne(ipc::invalidation::ObjectSource::TEST, "one"), |
| 19 kIdTwo(ipc::invalidation::ObjectSource::TEST, "two"), |
| 20 kInv1(Invalidation::Init(kIdOne, 10, "ten")) { |
| 21 set1.insert(kIdOne); |
| 22 set2.insert(kIdTwo); |
| 23 all_set.insert(kIdOne); |
| 24 all_set.insert(kIdTwo); |
| 25 |
| 26 one_invalidation.Insert(kInv1); |
| 27 invalidate_all = ObjectIdInvalidationMap::InvalidateAll(all_set); |
| 28 } |
| 29 |
| 30 protected: |
| 31 const invalidation::ObjectId kIdOne; |
| 32 const invalidation::ObjectId kIdTwo; |
| 33 const Invalidation kInv1; |
| 34 |
| 35 ObjectIdSet set1; |
| 36 ObjectIdSet set2; |
| 37 ObjectIdSet all_set; |
| 38 ObjectIdInvalidationMap empty; |
| 39 ObjectIdInvalidationMap one_invalidation; |
| 40 ObjectIdInvalidationMap invalidate_all; |
| 41 }; |
| 42 |
| 43 TEST_F(ObjectIdInvalidationMapTest, Empty) { |
| 44 EXPECT_TRUE(empty.Empty()); |
| 45 EXPECT_FALSE(one_invalidation.Empty()); |
| 46 EXPECT_FALSE(invalidate_all.Empty()); |
| 47 } |
| 48 |
| 49 TEST_F(ObjectIdInvalidationMapTest, Equality) { |
| 50 ObjectIdInvalidationMap empty2; |
| 51 EXPECT_TRUE(empty == empty2); |
| 52 |
| 53 ObjectIdInvalidationMap one_invalidation2; |
| 54 one_invalidation2.Insert(kInv1); |
| 55 EXPECT_TRUE(one_invalidation == one_invalidation2); |
| 56 |
| 57 EXPECT_FALSE(empty == invalidate_all); |
| 58 } |
| 59 |
| 60 TEST_F(ObjectIdInvalidationMapTest, GetObjectIds) { |
| 61 EXPECT_EQ(ObjectIdSet(), empty.GetObjectIds()); |
| 62 EXPECT_EQ(set1, one_invalidation.GetObjectIds()); |
| 63 EXPECT_EQ(all_set, invalidate_all.GetObjectIds()); |
| 64 } |
| 65 |
| 66 TEST_F(ObjectIdInvalidationMapTest, GetSubsetWithObjectIds) { |
| 67 EXPECT_TRUE(empty.GetSubsetWithObjectIds(set1).Empty()); |
| 68 |
| 69 EXPECT_TRUE(one_invalidation.GetSubsetWithObjectIds(set1) == |
| 70 one_invalidation); |
| 71 EXPECT_TRUE(one_invalidation.GetSubsetWithObjectIds(all_set) == |
| 72 one_invalidation); |
| 73 EXPECT_TRUE(one_invalidation.GetSubsetWithObjectIds(set2).Empty()); |
| 74 |
| 75 EXPECT_TRUE(invalidate_all.GetSubsetWithObjectIds(ObjectIdSet()).Empty()); |
| 76 } |
| 77 |
| 78 TEST_F(ObjectIdInvalidationMapTest, SerializeEmpty) { |
| 79 scoped_ptr<base::ListValue> value = empty.ToValue(); |
| 80 ASSERT_TRUE(value.get()); |
| 81 ObjectIdInvalidationMap deserialized; |
| 82 deserialized.ResetFromValue(*value.get()); |
| 83 EXPECT_TRUE(empty == deserialized); |
| 84 } |
| 85 |
| 86 TEST_F(ObjectIdInvalidationMapTest, SerializeOneInvalidation) { |
| 87 scoped_ptr<base::ListValue> value = one_invalidation.ToValue(); |
| 88 ASSERT_TRUE(value.get()); |
| 89 ObjectIdInvalidationMap deserialized; |
| 90 deserialized.ResetFromValue(*value.get()); |
| 91 EXPECT_TRUE(one_invalidation == deserialized); |
| 92 } |
| 93 |
| 94 TEST_F(ObjectIdInvalidationMapTest, SerializeInvalidateAll) { |
| 95 scoped_ptr<base::ListValue> value = invalidate_all.ToValue(); |
| 96 ASSERT_TRUE(value.get()); |
| 97 ObjectIdInvalidationMap deserialized; |
| 98 deserialized.ResetFromValue(*value.get()); |
| 99 EXPECT_TRUE(invalidate_all == deserialized); |
| 100 } |
| 101 |
| 102 } // namespace |
| 103 |
| 104 } // namespace syncer |
OLD | NEW |