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.
5 #include <gtest/gtest.h>
6 #include "media/cast/transport/cast_transport_defines.h"
11 class FrameIdWrapHelperTest
: public ::testing::Test
{
13 FrameIdWrapHelperTest() {}
14 virtual ~FrameIdWrapHelperTest() {}
16 FrameIdWrapHelper frame_id_wrap_helper_
;
19 TEST_F(FrameIdWrapHelperTest
, FirstFrame
) {
20 EXPECT_EQ(kStartFrameId
, frame_id_wrap_helper_
.MapTo32bitsFrameId(255u));
23 TEST_F(FrameIdWrapHelperTest
, Rollover
) {
24 uint32 new_frame_id
= 0u;
25 for (int i
= 0; i
<= 256; ++i
) {
26 new_frame_id
= frame_id_wrap_helper_
.MapTo32bitsFrameId(
27 static_cast<uint8
>(i
));
29 EXPECT_EQ(256u, new_frame_id
);
32 TEST_F(FrameIdWrapHelperTest
, OutOfOrder
) {
33 uint32 new_frame_id
= 0u;
34 for (int i
= 0; i
< 255; ++i
) {
35 new_frame_id
= frame_id_wrap_helper_
.MapTo32bitsFrameId(
36 static_cast<uint8
>(i
));
38 EXPECT_EQ(254u, new_frame_id
);
39 new_frame_id
= frame_id_wrap_helper_
.MapTo32bitsFrameId(0u);
40 EXPECT_EQ(256u, new_frame_id
);
41 new_frame_id
= frame_id_wrap_helper_
.MapTo32bitsFrameId(255u);
42 EXPECT_EQ(255u, new_frame_id
);
43 new_frame_id
= frame_id_wrap_helper_
.MapTo32bitsFrameId(1u);
44 EXPECT_EQ(257u, new_frame_id
);