Esempio n. 1
0
		IUTEST_ASSERT_EQ(0, GetParam());
		IUTEST_EXPECT_EQ(0, GetParam());
		IUTEST_INFORM_EQ(0, GetParam());
		IUTEST_ASSUME_EQ(0, GetParam());
	}
	IUTEST_P(ParamTest, Ne)
	{
		IUTEST_ASSERT_NE(0, GetParam());
		IUTEST_EXPECT_NE(0, GetParam());
		IUTEST_INFORM_NE(0, GetParam());
		IUTEST_ASSUME_NE(0, GetParam());
	}
	
	IUTEST_INSTANTIATE_TEST_CASE_P(A, ParamTest, ::iutest::Range<int>(0, 100000));
	IUTEST_INSTANTIATE_TEST_CASE_P(B, ParamTest, ::iutest::Values(IUTEST_PP_ENUM_PARAMS(IUTEST_PP_LIMIT_ENUM, IUTEST_PP_EMPTY())));
	IUTEST_INSTANTIATE_TEST_CASE_P(C, ParamTest, ::iutest::ValuesIn(make_param(1000, 0)));

	class CombineTest : public ::iutest::TestWithParam< ::iutest::tuples::tuple<bool, int, int> > {};
	static const int kCombineTestTable[] = {0, 1};

	IUTEST_P(CombineTest, Param)
	{
		(void)GetParam();
	}
	IUTEST_INSTANTIATE_TEST_CASE_P(A, CombineTest
		, ::iutest::Combine(::iutest::Bool(), ::iutest::Values(1, 10), ::iutest::ValuesIn(kCombineTestTable)));
	IUTEST_INSTANTIATE_TEST_CASE_P(B, CombineTest
		, ::iutest::Concat(
			::iutest::Combine(::iutest::Values(false), ::iutest::Values(1, 10), ::iutest::ValuesIn(kCombineTestTable))
			, ::iutest::Combine(::iutest::Values(true), ::iutest::Values(1, 10), ::iutest::ValuesIn(kCombineTestTable))
		)
TEST(ConvenienceParamsTest, PathToNameDoubleExtension)
{
    alps::params p=make_param("/path/to/progname.somext.exe");
    EXPECT_EQ("progname.out.h5", p["outputfile"].as<std::string>());
    EXPECT_EQ("progname.clone.h5", p["checkpoint"].as<std::string>());
}
TEST(ConvenienceParamsTest, SimpleName)
{
    alps::params p=make_param("progname");
    EXPECT_EQ("progname.out.h5", p["outputfile"].as<std::string>());
    EXPECT_EQ("progname.clone.h5", p["checkpoint"].as<std::string>());
}
TEST(ConvenienceParamsTest, CurDirNameExtension)
{
    alps::params p=make_param("./progname.exe");
    EXPECT_EQ("progname.out.h5", p["outputfile"].as<std::string>());
    EXPECT_EQ("progname.clone.h5", p["checkpoint"].as<std::string>());
}
TEST(ConvenienceParamsTest, timelimit)
{
    EXPECT_EQ(0, make_param("/some/path")["timelimit"].as<std::size_t>());
}