Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: mojo/edk/system/message_in_transit_queue_unittest.cc

Issue 1153283004: Make TestChannelEndpointClient use MessageInTransitQueue. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/edk/system/message_in_transit_queue.h" 5 #include "mojo/edk/system/message_in_transit_queue.h"
6 6
7 #include "mojo/edk/system/message_in_transit_test_utils.h" 7 #include "mojo/edk/system/message_in_transit_test_utils.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace mojo { 10 namespace mojo {
11 namespace system { 11 namespace system {
12 namespace { 12 namespace {
13 13
14 TEST(MessageInTransitQueueTest, Basic) { 14 TEST(MessageInTransitQueueTest, Basic) {
15 MessageInTransitQueue queue; 15 MessageInTransitQueue queue;
16 EXPECT_TRUE(queue.IsEmpty()); 16 EXPECT_TRUE(queue.IsEmpty());
17 17
18 queue.AddMessage(test::MakeTestMessage(1)); 18 queue.AddMessage(test::MakeTestMessage(1));
19 ASSERT_FALSE(queue.IsEmpty()); 19 ASSERT_FALSE(queue.IsEmpty());
20 EXPECT_EQ(1u, queue.Size());
20 21
21 test::VerifyTestMessage(queue.PeekMessage(), 1); 22 test::VerifyTestMessage(queue.PeekMessage(), 1);
22 ASSERT_FALSE(queue.IsEmpty()); 23 ASSERT_FALSE(queue.IsEmpty());
24 EXPECT_EQ(1u, queue.Size());
23 25
24 queue.AddMessage(test::MakeTestMessage(2)); 26 queue.AddMessage(test::MakeTestMessage(2));
25 queue.AddMessage(test::MakeTestMessage(3)); 27 queue.AddMessage(test::MakeTestMessage(3));
26 ASSERT_FALSE(queue.IsEmpty()); 28 ASSERT_FALSE(queue.IsEmpty());
29 EXPECT_EQ(3u, queue.Size());
27 30
28 test::VerifyTestMessage(queue.GetMessage().get(), 1); 31 test::VerifyTestMessage(queue.GetMessage().get(), 1);
29 ASSERT_FALSE(queue.IsEmpty()); 32 ASSERT_FALSE(queue.IsEmpty());
33 EXPECT_EQ(2u, queue.Size());
30 34
31 test::VerifyTestMessage(queue.PeekMessage(), 2); 35 test::VerifyTestMessage(queue.PeekMessage(), 2);
32 ASSERT_FALSE(queue.IsEmpty()); 36 ASSERT_FALSE(queue.IsEmpty());
37 EXPECT_EQ(2u, queue.Size());
33 38
34 queue.DiscardMessage(); 39 queue.DiscardMessage();
35 ASSERT_FALSE(queue.IsEmpty()); 40 ASSERT_FALSE(queue.IsEmpty());
41 EXPECT_EQ(1u, queue.Size());
36 42
37 test::VerifyTestMessage(queue.GetMessage().get(), 3); 43 test::VerifyTestMessage(queue.GetMessage().get(), 3);
38 EXPECT_TRUE(queue.IsEmpty()); 44 EXPECT_TRUE(queue.IsEmpty());
45 EXPECT_EQ(0u, queue.Size());
39 46
40 queue.AddMessage(test::MakeTestMessage(4)); 47 queue.AddMessage(test::MakeTestMessage(4));
41 ASSERT_FALSE(queue.IsEmpty()); 48 ASSERT_FALSE(queue.IsEmpty());
49 EXPECT_EQ(1u, queue.Size());
42 50
43 test::VerifyTestMessage(queue.PeekMessage(), 4); 51 test::VerifyTestMessage(queue.PeekMessage(), 4);
44 ASSERT_FALSE(queue.IsEmpty()); 52 ASSERT_FALSE(queue.IsEmpty());
53 EXPECT_EQ(1u, queue.Size());
45 54
46 queue.Clear(); 55 queue.Clear();
47 EXPECT_TRUE(queue.IsEmpty()); 56 EXPECT_TRUE(queue.IsEmpty());
57 EXPECT_EQ(0u, queue.Size());
48 } 58 }
49 59
50 TEST(MessageInTransitQueueTest, Swap) { 60 TEST(MessageInTransitQueueTest, Swap) {
51 MessageInTransitQueue queue1; 61 MessageInTransitQueue queue1;
52 MessageInTransitQueue queue2; 62 MessageInTransitQueue queue2;
53 63
54 queue1.AddMessage(test::MakeTestMessage(1)); 64 queue1.AddMessage(test::MakeTestMessage(1));
55 queue1.AddMessage(test::MakeTestMessage(2)); 65 queue1.AddMessage(test::MakeTestMessage(2));
56 queue1.AddMessage(test::MakeTestMessage(3)); 66 queue1.AddMessage(test::MakeTestMessage(3));
67 EXPECT_EQ(3u, queue1.Size());
57 68
58 queue2.AddMessage(test::MakeTestMessage(4)); 69 queue2.AddMessage(test::MakeTestMessage(4));
59 queue2.AddMessage(test::MakeTestMessage(5)); 70 queue2.AddMessage(test::MakeTestMessage(5));
71 EXPECT_EQ(2u, queue2.Size());
60 72
61 queue1.Swap(&queue2); 73 queue1.Swap(&queue2);
74 EXPECT_EQ(2u, queue1.Size());
75 EXPECT_EQ(3u, queue2.Size());
62 test::VerifyTestMessage(queue1.GetMessage().get(), 4); 76 test::VerifyTestMessage(queue1.GetMessage().get(), 4);
63 test::VerifyTestMessage(queue1.GetMessage().get(), 5); 77 test::VerifyTestMessage(queue1.GetMessage().get(), 5);
64 EXPECT_TRUE(queue1.IsEmpty()); 78 EXPECT_TRUE(queue1.IsEmpty());
65 79
66 queue1.Swap(&queue2); 80 queue1.Swap(&queue2);
67 EXPECT_TRUE(queue2.IsEmpty()); 81 EXPECT_TRUE(queue2.IsEmpty());
68 82
69 test::VerifyTestMessage(queue1.GetMessage().get(), 1); 83 test::VerifyTestMessage(queue1.GetMessage().get(), 1);
70 test::VerifyTestMessage(queue1.GetMessage().get(), 2); 84 test::VerifyTestMessage(queue1.GetMessage().get(), 2);
71 test::VerifyTestMessage(queue1.GetMessage().get(), 3); 85 test::VerifyTestMessage(queue1.GetMessage().get(), 3);
72 EXPECT_TRUE(queue1.IsEmpty()); 86 EXPECT_TRUE(queue1.IsEmpty());
73 } 87 }
74 88
75 } // namespace 89 } // namespace
76 } // namespace system 90 } // namespace system
77 } // namespace mojo 91 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/message_in_transit_queue.h ('k') | mojo/edk/system/test_channel_endpoint_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698