MaxTest.cpp 610 Bytes
Newer Older
k06a's avatar
k06a committed
1 2 3 4 5
#include <vector>
#include <string>

#include <gtest/gtest.h>

Anton Bukov's avatar
Anton Bukov committed
6
#include "boolinq.h"
k06a's avatar
k06a committed
7 8 9 10 11 12 13 14 15 16

using namespace boolinq;

TEST(Max, ThreeInts)
{
    std::vector<int> src;
    src.push_back(1);
    src.push_back(2);
    src.push_back(3);

Anton Bukov's avatar
Anton Bukov committed
17
    auto rng = from(src);
k06a's avatar
k06a committed
18

Anton Bukov's avatar
Anton Bukov committed
19 20
    EXPECT_EQ(3, rng.max());
    EXPECT_EQ(1, rng.max([](int a){return -a;}));
k06a's avatar
k06a committed
21 22 23 24 25 26 27 28 29
}

TEST(Max, FiveStrings)
{
    std::vector<std::string> src;
    src.push_back("hell");
    src.push_back("apple");
    src.push_back("zip");

Anton Bukov's avatar
Anton Bukov committed
30
    auto rng = from(src);
k06a's avatar
k06a committed
31

Anton Bukov's avatar
Anton Bukov committed
32 33
    EXPECT_EQ("zip",  rng.max());
    EXPECT_EQ("apple", rng.max([](std::string s){return s.size();}));
34
}