1// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#include "vm/ring_buffer.h"
6#include "platform/assert.h"
7#include "vm/unit_test.h"
8
9namespace dart {
10
11TEST_CASE(RingBuffer) {
12 RingBuffer<int, 2> buf;
13 EXPECT_EQ(0, buf.Size());
14 buf.Add(42);
15 EXPECT_EQ(1, buf.Size());
16 EXPECT_EQ(42, buf.Get(0));
17 buf.Add(87);
18 EXPECT_EQ(2, buf.Size());
19 EXPECT_EQ(87, buf.Get(0));
20 EXPECT_EQ(42, buf.Get(1));
21 buf.Add(-1);
22 EXPECT_EQ(2, buf.Size());
23 EXPECT_EQ(-1, buf.Get(0));
24 EXPECT_EQ(87, buf.Get(1));
25}
26
27} // namespace dart
28