1413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom/*
2413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * Copyright (C) 2013 The Android Open Source Project
3413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom *
4413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * Licensed under the Apache License, Version 2.0 (the "License");
5413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * you may not use this file except in compliance with the License.
6413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * You may obtain a copy of the License at
7413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom *
8413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom *      http://www.apache.org/licenses/LICENSE-2.0
9413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom *
10413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * Unless required by applicable law or agreed to in writing, software
11413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * distributed under the License is distributed on an "AS IS" BASIS,
12413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * See the License for the specific language governing permissions and
14413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom * limitations under the License.
15413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom */
16413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom
17ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom#include "gtest/gtest.h"
18818f2107e6d2d9e80faac8ae8c92faffa83cbd11Nicolas Geoffray#include "utils/arena_allocator.h"
190e33643519b68a343a7466dcaba12b8567777cc3Nicolas Geoffray#include "utils/arena_bit_vector.h"
20413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom
21413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstromnamespace art {
22413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom
23ba150c37d582eeeb8c11ba5245edc281cf31793cBrian CarlstromTEST(ArenaAllocator, Test) {
24ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  ArenaPool pool;
25ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  ArenaAllocator arena(&pool);
26ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  ArenaBitVector bv(&arena, 10, true);
27ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  bv.SetBit(5);
28ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  EXPECT_EQ(1U, bv.GetStorageSize());
29ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  bv.SetBit(35);
30ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom  EXPECT_EQ(2U, bv.GetStorageSize());
31ba150c37d582eeeb8c11ba5245edc281cf31793cBrian Carlstrom}
32413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom
33413e89f277ec6ba1bdf2040f5b5611f29a27a447Brian Carlstrom}  // namespace art
34