Welcome to mirror list, hosted at ThFree Co, Russian Federation.

pointu_to_uint64_test.cpp « geometry_tests « geometry - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c890a174765d445d907a77578db84929ec6e0c7d (plain)
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
#include "testing/testing.hpp"
#include "geometry/pointu_to_uint64.hpp"

UNIT_TEST(PointUToUint64_0)
{
  TEST_EQUAL(0, m2::PointUToUint64(m2::PointU(0, 0)), ());
  TEST_EQUAL(m2::PointU(0, 0), m2::Uint64ToPointU(0), ());
}

UNIT_TEST(PointUToUint64_Interlaced)
{
  TEST_EQUAL(0xAAAAAAAAAAAAAAAAULL, m2::PointUToUint64(m2::PointU(0, 0xFFFFFFFF)), ());
  TEST_EQUAL(0x5555555555555555ULL, m2::PointUToUint64(m2::PointU(0xFFFFFFFF, 0)), ());
  TEST_EQUAL(0xAAAAAAAAAAAAAAA8ULL, m2::PointUToUint64(m2::PointU(0, 0xFFFFFFFE)), ());
  TEST_EQUAL(0x5555555555555554ULL, m2::PointUToUint64(m2::PointU(0xFFFFFFFE, 0)), ());
}

UNIT_TEST(PointUToUint64_1bit)
{
  TEST_EQUAL(2, m2::PointUToUint64(m2::PointU(0, 1)), ());
  TEST_EQUAL(m2::PointU(0, 1), m2::Uint64ToPointU(2), ());
  TEST_EQUAL(1, m2::PointUToUint64(m2::PointU(1, 0)), ());
  TEST_EQUAL(m2::PointU(1, 0), m2::Uint64ToPointU(1), ());

  TEST_EQUAL(3ULL << 60, m2::PointUToUint64(m2::PointU(1 << 30, 1 << 30)), ());
  TEST_EQUAL((1ULL << 60) - 1, m2::PointUToUint64(m2::PointU((1 << 30) - 1, (1 << 30) - 1)), ());
}