OLD | NEW |
| (Empty) |
1 // Copyright 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 |