Exemple #1
0
void CompareReadLines(size_t count, const wxChar* expected[], EReadTextFile criteria)
{
	CTextFile file;
	ASSERT_FALSE(file.IsOpened());
	ASSERT_TRUE(file.Eof());
	for (size_t j = 0; j < ArraySize(g_filesDefault); ++j) {
		CONTEXT(wxString(wxT("Checking file: ")) + g_filesDefault[j]);

		ASSERT_TRUE(file.Open(CPath(wxSTRINGIZE_T(SRCDIR)).JoinPaths(CPath(g_filesDefault[j])).GetRaw(), CTextFile::read));

		wxArrayString lines = file.ReadLines(criteria);

		ASSERT_EQUALS(ArrToStr(count, expected), ArrToStr(lines));
		ASSERT_EQUALS(count, lines.GetCount());
	}
	ASSERT_TRUE(file.IsOpened());
	ASSERT_TRUE(file.Eof());
};
Exemple #2
0
	virtual void run()
	{
		const wxChar* lines[] = {
			wxT(" # comment"),
			wxT("abc"),
			wxT("# foo bar"),
			wxT(" "),
			wxT("def ghi "),
			wxT(""),
			wxT("# xyz"),
			wxT(" xyz"),
			wxT(" "),
			wxT("")
		};

		{
			CONTEXT(wxT("Writing lines manually"));

			CTextFile file;
			ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::write));

			for (size_t i = 0; i < ArraySize(lines); ++i) {
				CONTEXT(wxString::Format(wxT("Writing the %i'th line."), static_cast<int>(i)));

				ASSERT_TRUE(file.WriteLine(lines[i]));
			}
		}

		{
			CONTEXT(wxT("Reading manually written lines"));

			CTextFile file;
			ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::read));
			ASSERT_FALSE(file.Eof());

			for (size_t i = 0; i < ArraySize(lines); ++i) {
				CONTEXT(wxString::Format(wxT("Reading the %i'th line."), static_cast<int>(i)));

				ASSERT_EQUALS(lines[i], file.GetNextLine());
			}
			ASSERT_TRUE(file.Eof());
		}

		{
			CONTEXT(wxT("Writing lines automatically"));

			CTextFile file;
			ASSERT_FALSE(file.IsOpened());
			ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::write));
			ASSERT_TRUE(file.WriteLines(wxArrayString(ArraySize(lines), lines)));
			ASSERT_TRUE(file.IsOpened());
		}

		{
			CONTEXT(wxT("Reading automatically written lines"));

			CTextFile file;
			ASSERT_FALSE(file.IsOpened());
			ASSERT_TRUE(file.Open(wxT("testfile.txt"), CTextFile::read));
			ASSERT_TRUE(file.IsOpened());
			ASSERT_FALSE(file.Eof());

			for (size_t i = 0; i < ArraySize(lines); ++i) {
				CONTEXT(wxString::Format(wxT("Reading the %i'th line."), static_cast<int>(i)));

				ASSERT_EQUALS(lines[i], file.GetNextLine());
			}

			ASSERT_TRUE(file.Eof());
		}
	}