1 // Copyright (c) 2012 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.
5 #include "base/logging.h"
6 #include "base/memory/scoped_ptr.h"
7 #include "net/quic/congestion_control/tcp_receiver.h"
8 #include "net/quic/test_tools/mock_clock.h"
9 #include "testing/gtest/include/gtest/gtest.h"
14 class QuicTcpReceiverTest
: public ::testing::Test
{
16 virtual void SetUp() {
17 receiver_
.reset(new TcpReceiver());
19 scoped_ptr
<TcpReceiver
> receiver_
;
22 TEST_F(QuicTcpReceiverTest
, SimpleReceiver
) {
23 QuicCongestionFeedbackFrame feedback
;
24 QuicTime
timestamp(QuicTime::Zero());
25 receiver_
->RecordIncomingPacket(1, 1, timestamp
);
26 ASSERT_TRUE(receiver_
->GenerateCongestionFeedback(&feedback
));
27 EXPECT_EQ(kTCP
, feedback
.type
);
28 EXPECT_EQ(256000u, feedback
.tcp
.receive_window
);
29 receiver_
->RecordIncomingPacket(1, 2, timestamp
);
30 ASSERT_TRUE(receiver_
->GenerateCongestionFeedback(&feedback
));
31 EXPECT_EQ(kTCP
, feedback
.type
);
32 EXPECT_EQ(256000u, feedback
.tcp
.receive_window
);