// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/time.h" #include "media/base/pts_heap.h" #include "testing/gtest/include/gtest/gtest.h" namespace media { TEST(PtsHeapTest, IsEmpty) { const base::TimeDelta kTestPts1 = base::TimeDelta::FromMicroseconds(123); PtsHeap heap; ASSERT_TRUE(heap.IsEmpty()); heap.Push(kTestPts1); ASSERT_FALSE(heap.IsEmpty()); heap.Pop(); ASSERT_TRUE(heap.IsEmpty()); } TEST(PtsHeapTest, Ordering) { const base::TimeDelta kTestPts1 = base::TimeDelta::FromMicroseconds(123); const base::TimeDelta kTestPts2 = base::TimeDelta::FromMicroseconds(456); PtsHeap heap; heap.Push(kTestPts1); heap.Push(kTestPts2); heap.Push(kTestPts1); EXPECT_TRUE(kTestPts1 == heap.Top()); heap.Pop(); EXPECT_TRUE(kTestPts1 == heap.Top()); heap.Pop(); EXPECT_TRUE(kTestPts2 == heap.Top()); heap.Pop(); } } // namespace media