示例#1
0
void UpdaterTest::testVersionStringParsing()
{
	const int NUM_VERSIONS_STRING = 6;
	string versionStrings[NUM_VERSIONS_STRING] = 
	{
		"1", "abc", "-2", "234sc", "2", ""
	};

	int versions[NUM_VERSIONS_STRING] = 
	{
		1, -1, -2, 234, 2, -1
	};

	for (int i = 0; i < NUM_VERSIONS_STRING; i++)
	{
		string versionString = versionStrings[i];
		int version = versions[i];

		vector<string> versionStrings;
		versionStrings.push_back(versionString);
		UpdateServer *us = (UpdateServer*) new MockUpdateServer(versionStrings);


		CPPUNIT_ASSERT_EQUAL(versionString, us->getVersionString());

		Updater *u = new Updater(us, 0, ".", 0, 0, 0);
		if (version == -1)
			CPPUNIT_ASSERT_THROW(u->getNewestVersionNumber(), UpdateCheckFailedException);
		else
			CPPUNIT_ASSERT_EQUAL(version, u->getNewestVersionNumber());

		delete us;
		delete u;

	}



}