File: sparse_range_map.cpp

package info (click to toggle)
vulkan-utility-libraries 1.4.335.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,476 kB
  • sloc: cpp: 106,816; ansic: 16,788; python: 2,218; sh: 23; makefile: 6
file content (43 lines) | stat: -rw-r--r-- 1,242 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2024 The Khronos Group Inc.
// Copyright 2024 Valve Corporation
// Copyright 2024 LunarG, Inc.
//
// SPDX-License-Identifier: Apache-2.0
//

#include <gtest/gtest.h>
#include <string>
#include <utility>
#include <vulkan/utility/vk_sparse_range_map.hpp>

TEST(sparse_range_map, basic) {
    vku::sparse::range_map<uint32_t, std::string> map;

    map.insert(std::make_pair(vku::sparse::range<uint32_t>(0, 100), "first"));
    map.insert(std::make_pair(vku::sparse::range<uint32_t>(500, 501), "second"));

    auto iter = map.find(42);
    ASSERT_NE(iter, map.end());
    ASSERT_EQ(0u, iter->first.begin);
    ASSERT_EQ(100u, iter->first.end);
    ASSERT_EQ("first", iter->second);

    iter = map.find(501);
    ASSERT_EQ(iter, map.end());
}

TEST(sparse_range_map, small) {
    vku::sparse::small_range_map<uint32_t, std::string> map;

    map.insert(std::make_pair(vku::sparse::range<uint32_t>(0, 10), "first"));
    map.insert(std::make_pair(vku::sparse::range<uint32_t>(50, 51), "second"));

    auto iter = map.find(4);
    ASSERT_NE(iter, map.end());
    ASSERT_EQ(0u, iter->first.begin);
    ASSERT_EQ(10u, iter->first.end);
    ASSERT_EQ("first", iter->second);

    iter = map.find(51);
    ASSERT_EQ(iter, map.end());
}