rhubarb-lip-sync/rhubarb/tests/pairsTests.cpp

34 lines
912 B
C++

#include <gmock/gmock.h>
#include "tools/pairs.h"
using namespace testing;
using std::pair;
using std::vector;
TEST(getPairs, emptyCollection) {
EXPECT_THAT(getPairs(vector<int>()), IsEmpty());
}
TEST(getPairs, oneElementCollection) {
EXPECT_THAT(getPairs(vector<int>{1}), IsEmpty());
}
TEST(getPairs, validCollection) {
{
const auto actual = getPairs(vector<int>{1, 2});
const vector<pair<int, int>> expected{{1, 2}};
EXPECT_THAT(actual, ElementsAreArray(expected));
}
{
const auto actual = getPairs(vector<int>{1, 2, 3});
const vector<pair<int, int>> expected{{1, 2}, {2, 3}};
EXPECT_THAT(actual, ElementsAreArray(expected));
}
{
const auto actual = getPairs(vector<int>{1, 2, 3, 4});
const vector<pair<int, int>> expected{{1, 2}, {2, 3}, {3, 4}};
EXPECT_THAT(actual, ElementsAreArray(expected));
}
}