Example #1
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
TEST(ArrayTest, MinMaxInt)
{
    IntArray a;

    // Test empty arrays
    EXPECT_EQ(std::numeric_limits<int>::max(), a.min());
    EXPECT_EQ(std::numeric_limits<int>::min(), a.max());

    a.reserve(5);
    a.add(999);
    a.add(1);
    a.add(-2);
    a.add(123);
    a.add(-3);

    int min = a.min();
    int max = a.max();

    EXPECT_EQ(-3, min);
    EXPECT_EQ(999, max);

    size_t minIdx = 0;
    size_t maxIdx = 0;

    a.min(&minIdx);
    a.max(&maxIdx);

    EXPECT_EQ(4, minIdx);
    EXPECT_EQ(0, maxIdx);
}