5 #include "../src/benchmark_register.h"
6 #include "gmock/gmock.h"
7 #include "gtest/gtest.h"
15 TEST(AddRangeTest, Simple) {
21 TEST(AddRangeTest, Simple64) {
22 std::vector<int64_t>
dst;
27 TEST(AddRangeTest, Advanced) {
33 TEST(AddRangeTest, Advanced64) {
34 std::vector<int64_t>
dst;
39 TEST(AddRangeTest, FullRange8) {
40 std::vector<int8_t>
dst;
45 TEST(AddRangeTest, FullRange64) {
46 std::vector<int64_t>
dst;
50 1099511627776
LL, 1125899906842624
LL,
51 1152921504606846976
LL, 9223372036854775807
LL));
54 TEST(AddRangeTest, NegativeRanges) {
60 TEST(AddRangeTest, StrictlyNegative) {
66 TEST(AddRangeTest, SymmetricNegativeRanges) {
72 TEST(AddRangeTest, SymmetricNegativeRangesOddMult) {
78 TEST(AddRangeTest, NegativeRangesAsymmetric) {
84 TEST(AddRangeTest, NegativeRangesLargeStep) {
91 TEST(AddRangeTest, ZeroOnlyRange) {
97 TEST(AddRangeTest, ZeroStartingRange) {
103 TEST(AddRangeTest, NegativeRange64) {
104 std::vector<int64_t>
dst;
105 AddRange<int64_t>(&
dst, -4, 4, 2);
109 TEST(AddRangeTest, NegativeRangePreservesExistingOrder) {
112 std::vector<int64_t>
dst = {1, 2, 3};
113 AddRange<int64_t>(&
dst, -2, 2, 2);
117 TEST(AddRangeTest, FullNegativeRange64) {
118 std::vector<int64_t>
dst;
124 min, -1152921504606846976
LL, -1125899906842624
LL,
125 -1099511627776
LL, -1073741824
LL, -1048576
LL, -1024
LL, -1
LL, 0
LL,
126 1
LL, 1024
LL, 1048576
LL, 1073741824
LL, 1099511627776
LL,
127 1125899906842624
LL, 1152921504606846976
LL,
max}));
130 TEST(AddRangeTest, Simple8) {
131 std::vector<int8_t>
dst;
132 AddRange<int8_t>(&
dst, 1, 8, 2);