Exemplo n.º 1
0
TEST(TStr, SplitLeftOfRightOf) {
	const TStr Str = "abcde";

	TStr LStr, RStr;
	Str.SplitLeftOfRightOf(LStr, 2, 2, RStr);

	// basic
	ASSERT_EQ(LStr, "ab");
	ASSERT_EQ(RStr, "de");

	// edge cases
	Str.SplitLeftOfRightOf(LStr, 0, Str.Len()-1, RStr);

	ASSERT_EQ(LStr, "");
	ASSERT_EQ(RStr, "");

	// exceptions
	ASSERT_ANY_THROW(Str.SplitLeftOfRightOf(LStr, 4,3, RStr));
	ASSERT_ANY_THROW(Str.SplitLeftOfRightOf(LStr, -1,3, RStr));
	ASSERT_ANY_THROW(Str.SplitLeftOfRightOf(LStr, 0,Str.Len(), RStr));
}