#include "../common/svrblist.h"
#include "../common/textprocessing.h"
-TEST(CommonFunctions, GetUserDir){
+static wxString AccountInput1 = "Example1";
+static wxString AccountInput2 = "Example2";
+static wxString AccountInput3 = "Example3";
+
+TEST(CommonFunctions, GivenAPredefinedPathWhenGetUserDirIsCalledThenReceivedPathMatches){
// Run the unit tests depending on the operating system being used.
// Setup for comparison purposes. Should be /home/<user>/.xestiaab
+ // Given
+
wxString UserDirCheck = "";
UserDirCheck.Append(wxString::FromUTF8(getenv("HOME")));
UserDirCheck.Append(wxT("/.xestiaab/"));
+ // When
+
wxString UserDir = GetUserDir();
+ // Then
+
ASSERT_EQ(UserDir, UserDirCheck);
#endif
}
-TEST(CommonFunctions, GetUserPrefDir){
+TEST(CommonFunctions, GivenAPredefinedPathWhenGetUserPrefDirIsCalledThenReceivedPathMatches){
// Run the unit tests depending on the operating system being used.
// Setup for comparison purposes. Should be /home/<user>/.xestiaab/preferences
- wxString UserDirCheck = "";
- UserDirCheck.Append(wxString::FromUTF8(getenv("HOME")));
- UserDirCheck.Append(wxT("/.xestiaab/preferences/"));
+ // Given
- wxString UserDir = GetUserPrefDir();
- ASSERT_EQ(UserDir, UserDirCheck);
+ wxString UserPrefDirCheck = "";
+ UserPrefDirCheck.Append(wxString::FromUTF8(getenv("HOME")));
+ UserPrefDirCheck.Append(wxT("/.xestiaab/preferences/"));
-#endif
+ // When
+
+ wxString UserPrefDir = GetUserPrefDir();
+
+ // Then
+ ASSERT_EQ(UserPrefDir, UserPrefDirCheck);
+
+#endif
+
}
-TEST(CommonFunctions, GetAccountDir){
+TEST(CommonFunctions, GivenThreePredefinedPathsWhenGetAccountDirIsCalledForEachThenReceivedPathsMatches){
// Run the unit tests depending on the operating system being used.
wxString AccountDirCheck2 = "";
wxString AccountDirCheck3 = "";
+ // Given
+
AccountDirCheck1.Append(wxString::FromUTF8(getenv("HOME")));
AccountDirCheck1.Append(wxT("/.xestiaab/accounts/"));
AccountDirCheck1.Append("Example1");
AccountDirCheck3.Append("Example3");
AccountDirCheck3.Append(wxT("/"));
- wxString AccountDir1 = GetAccountDir("Example1", false);
- wxString AccountDir2 = GetAccountDir("Example2", false);
- wxString AccountDir3 = GetAccountDir("Example3", false);
+ // When
+
+ wxString AccountDir1 = GetAccountDir(AccountInput1, false);
+ wxString AccountDir2 = GetAccountDir(AccountInput2, false);
+ wxString AccountDir3 = GetAccountDir(AccountInput3, false);
+
+ // Then
ASSERT_EQ(AccountDir1, AccountDirCheck1);
ASSERT_EQ(AccountDir2, AccountDirCheck2);
}
-TEST(CommonFunctions, GetAccountDirCertificate){
+TEST(CommonFunctions, GivenThreePredefinedFilePathsWhenGetAccountDirIsCalledWithAppendServerCertificateSetToTrueForEachThenReceivedPathsMatches){
// Run the unit tests depending on the operating system being used.
wxString AccountDirCheck2 = "";
wxString AccountDirCheck3 = "";
+ // Given
+
AccountDirCheck1.Append(wxString::FromUTF8(getenv("HOME")));
AccountDirCheck1.Append(wxT("/.xestiaab/accounts/"));
AccountDirCheck1.Append("Example1");
AccountDirCheck3.Append("Example3");
AccountDirCheck3.Append(wxT("/server.crt"));
- wxString AccountDir1 = GetAccountDir("Example1", true);
- wxString AccountDir2 = GetAccountDir("Example2", true);
- wxString AccountDir3 = GetAccountDir("Example3", true);
+ // When
+
+ wxString AccountDir1 = GetAccountDir(AccountInput1, true);
+ wxString AccountDir2 = GetAccountDir(AccountInput2, true);
+ wxString AccountDir3 = GetAccountDir(AccountInput3, true);
+
+ // Then
ASSERT_EQ(AccountDir1, AccountDirCheck1);
ASSERT_EQ(AccountDir2, AccountDirCheck2);
}
-TEST(CommonFunctions, GetAccountsFile){
+TEST(CommonFunctions, GivenPredefinedFilePathWhenGetAccountsFileIsCalledThenReceivedFilePathMatches){
// Run the unit tests depending on the operating system being used.
// Setup for comparison purposes. Should be
// /home/<user>/.xestiaab/preferences/accounts
+ // Given
+
wxString AccountsFileCheck = "";
AccountsFileCheck.Clear();
AccountsFileCheck.Append(wxString::FromUTF8(getenv("HOME")));
AccountsFileCheck.Append(wxT("/.xestiaab/preferences/accounts"));
+ // When
+
wxString AccountsFile = GetAccountsFile();
+ // Then
+
ASSERT_EQ(AccountsFile, AccountsFileCheck);
#endif
}
-TEST(CommonFunctions, GetSettingsFile){
+TEST(CommonFunctions, GivenPredefinedFilePathWhenGetSettingsFileIsCalledThenReceivedFilePathMatches){
// Run the unit tests depending on the operating system being used.
// Setup for comparison purposes. Should be
// /home/<user>/.xestiaab/preferences/accounts
+ // Given
+
wxString SettingsFileCheck = "";
SettingsFileCheck.Clear();
SettingsFileCheck.Append(wxString::FromUTF8(getenv("HOME")));
SettingsFileCheck.Append(wxT("/.xestiaab/preferences/settings"));
+ // When
+
wxString SettingsFile = GetSettingsFile();
+ // Then
+
ASSERT_EQ(SettingsFile, SettingsFileCheck);
#endif
}
-TEST(CommonFunctions, CreateFilenamePath){
+TEST(CommonFunctions, GivenFivePredefinedFilenamePathsWhenCreateFilenamePathIsCalledThenReceivedPathMatches){
// Run the unit tests depending on the operating system being used.
#elif defined(__APPLE__)
#else
-
- ASSERT_EQ("/test", CreateFilenamePath("", "test"));
- ASSERT_EQ("/example/test", CreateFilenamePath("/example", "test"));
- ASSERT_EQ("/home/meep/test", CreateFilenamePath("/home/meep", "test"));
- ASSERT_EQ("/home/meep/moo/test", CreateFilenamePath("/home/meep/moo", "test"));
- ASSERT_EQ("/home/meep/moo/yargh/test", CreateFilenamePath("/home/meep/moo/yargh", "test"));
+
+ // Given
+
+ wxString FilenamePath1 = "/test";
+ wxString FilenamePath2 = "/example/test";
+ wxString FilenamePath3 = "/home/meep/test";
+ wxString FilenamePath4 = "/home/meep/moo/test";
+ wxString FilenamePath5 = "/home/meep/moo/yargh/test";
+
+ // When
+
+ wxString GeneratedFilenamePath1 = CreateFilenamePath("", "test");
+ wxString GeneratedFilenamePath2 = CreateFilenamePath("/example", "test");
+ wxString GeneratedFilenamePath3 = CreateFilenamePath("/home/meep", "test");
+ wxString GeneratedFilenamePath4 = CreateFilenamePath("/home/meep/moo", "test");
+ wxString GeneratedFilenamePath5 = CreateFilenamePath("/home/meep/moo/yargh", "test");
+
+ // Then
+
+ ASSERT_EQ(FilenamePath1, GeneratedFilenamePath1);
+ ASSERT_EQ(FilenamePath2, GeneratedFilenamePath2);
+ ASSERT_EQ(FilenamePath3, GeneratedFilenamePath3);
+ ASSERT_EQ(FilenamePath4, GeneratedFilenamePath4);
+ ASSERT_EQ(FilenamePath5, GeneratedFilenamePath5);
#endif
}
-TEST(CommonFunctions, GetMIME){
+TEST(CommonFunctions, GivenTwoFilesWhenGetMIMEIsCalledThenBothFilesMIMETypesAreGiven){
// Get the MIME type based on the files given.
+ // Given
+
+ wxString File1MIMEFormat = "";
+ wxString File2MIMEFormat = "";
+
+ // When
+
+ File1MIMEFormat = GetMIME("TextMIMEExample.txt");
+ File2MIMEFormat = GetMIME("PictureMIMEExample.png");
+
+ // Then
+
ASSERT_EQ("text/plain", GetMIME("TextMIMEExample.txt"));
ASSERT_EQ("image/png", GetMIME("PictureMIMEExample.png"));
}
-TEST(CommonFunctions, CheckBlacklist){
+TEST(CommonFunctions, GivenTwoDomainNamesWhenCheckBlacklistIsCalledThenReturnsCorrectStatus){
// Test that the blacklist is actually working.
+
+ // Given
+
+ bool domainStatus = true;
+
+ // When
+
+ domainStatus = CheckBlacklist("example.com");
+
+ // Then
+
+ ASSERT_EQ(false, domainStatus);
+
+ // When
- ASSERT_EQ(false, CheckBlacklist("example.com"));
- ASSERT_EQ(true, CheckBlacklist("google.com"));
+ domainStatus = false;
+ domainStatus = CheckBlacklist("google.com");
+
+ // Then
+
+ ASSERT_EQ(true, domainStatus);
}
-TEST(CommonFunctions, EscapeString){
+TEST(CommonFunctions, GivenExampleStringWhenEscapeStringIsCalledThenReturnedStringIsExample){
// Test the escape string function.
+ // Given
+
wxString EscapeStringData = "Example";
+
+ // When
+
EscapeString(&EscapeStringData, false);
+
+ // Then
+
ASSERT_EQ("Example", EscapeStringData.ToStdString());
+
+}
+
+TEST(CommonFunctions, GivenStringWithCommaWhenEscapeStringIsCalledThenCommaIsEscaped){
+
+ // Test the escape string function.
+
+ // Given
EscapeStringData = "Here we go, an \"example\" of escaping string.";
+
+ // When
+
EscapeString(&EscapeStringData, false);
+
+ // Then
+
ASSERT_EQ("Here we go\\, an \"example\" of escaping string.", EscapeStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenStringWithNewlineCharactersWhenEscapeStringIsCalledThenNewlinesAreEscaped){
+
+ // Test the escape string function.
+
+ // Given
+
EscapeStringData = "Lets put some \nnew \nlines \nin \nhere.";
+
+ // When
+
EscapeString(&EscapeStringData, false);
+
+ // Then
+
ASSERT_EQ("Lets put some \\nnew \\nlines \\nin \\nhere.", EscapeStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenAStringWithReturnCharactersWhenEscapeStringIsCalledThenReturnsAreRemoved){
+
+ // Test the escape string function.
+
+ // Given
+
EscapeStringData = "Lets put some \r\nnew \r\nlines \r\nin \r\nhere.";
+
+ // When
+
EscapeString(&EscapeStringData, false);
+
+ // Then
+
ASSERT_EQ("Lets put some \\nnew \\nlines \\nin \\nhere.", EscapeStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenStringWithBackslashesWhenEscapeStringIsCalledThenBackslashesAreEscaped){
+
+ // Test the escape string function.
+
+ // Given
+
EscapeStringData = "A:\\path\\example\\lets\\have\\some\\fun";
+
+ // When
+
EscapeString(&EscapeStringData, false);
+
+ // Then
+
ASSERT_EQ("A:\\\\path\\\\example\\\\lets\\\\have\\\\some\\\\fun", EscapeStringData.ToStdString());
}
-TEST(CommonFunctions, CaptureString){
+TEST(CommonFunctions, GivenExampleStringWhenCaptureStringIsCalledThenReturnedStringIsExample){
// Test the capture string function.
+ // Given
+
wxString CaptureStringData = "Example";
+
+ // When
+
CaptureString(&CaptureStringData, false);
+
+ // Then
+
ASSERT_EQ("Example", CaptureStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenStringWithEscapedCommasWhenCaptureStringIsCalledThenCommasAreCaptured){
+
+ // Test the capture string function.
+
+ // Given
+
CaptureStringData = "Here we go\\, an \"example\" of escaping string.";
+
+ // When
+
CaptureString(&CaptureStringData, false);
+
+ // Then
+
ASSERT_EQ("Here we go, an \"example\" of escaping string.", CaptureStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenStringWithEscapedNewlinesWhenCaptureStringIsCalledThenNewlinesAreCaptured){
+
+ // Test the capture string function.
+
+ // Given
+
CaptureStringData = "Lets put some \\nnew \\nlines \\nin \\nhere.";
+
+ // When
+
CaptureString(&CaptureStringData, false);
+
+ // Then
+
ASSERT_EQ("Lets put some \nnew \nlines \nin \nhere.", CaptureStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenStringWithEscapedBackslashesWhenCaptureStringIsCalledThenBackslashesAreCaptured){
+
+ // Test the capture string function.
+
+ // Given
+
CaptureStringData = "A:\\\\path\\\\example\\\\lets\\\\have\\\\some\\\\fun";
+
+ // When
+
CaptureString(&CaptureStringData, false);
+
+ // Then
+
ASSERT_EQ("A:\\path\\example\\lets\\have\\some\\fun", CaptureStringData.ToStdString());
}
-TEST(CommonFunctions, ResetUnusedString){
+TEST(CommonFunctions, GivenStringWithSeveralBackslashesWhenResetUnusedStringIsCalledThenStringIsReset){
// Tests for resetting an unused string.
+ // Given
+
wxString ResetUnusedStringData = "Random string with a \\\\\\\\serverpath\\\\location";
+
+ // When
+
ResetUnusedString(&ResetUnusedStringData);
+
+ // Then
+
ASSERT_EQ("Random string with a \\\\serverpath\\location", ResetUnusedStringData.ToStdString());
- ResetUnusedStringData = "Some text \\nwith new \\nlines!";
- ResetUnusedString(&ResetUnusedStringData);
- ASSERT_EQ("Some text \nwith new \nlines!", ResetUnusedStringData.ToStdString());
+}
+
+TEST(CommonFunctions, GivenStringWithNewlinesWhenResetUnusedStringIsCalledThenStringIsFormatted){
+
+ // Tests for resetting an unused string.
+
+ // Given
ResetUnusedStringData = "Some text \\nwith new \\nlines!";
+
+ // When
+
ResetUnusedString(&ResetUnusedStringData);
+
+ // Then
+
ASSERT_EQ("Some text \nwith new \nlines!", ResetUnusedStringData.ToStdString());
+
+}
+
+TEST(CommonFunctions, GivenStringWithSeveralCharactersWhenResetUnusedStringThenStringIsFormatted){
+
+ // Tests for resetting an unused string.
+
+ // Given
ResetUnusedStringData = "And now the list of characters: \\\\ \\n \\; \\,";
+
+ // When
+
ResetUnusedString(&ResetUnusedStringData);
+
+ // Then
+
ASSERT_EQ("And now the list of characters: \\ \n ; ,", ResetUnusedStringData.ToStdString());
}
// Tests for checking that map data exists.
+ std::map<int,int> MapExample;
+ int ItemIndex = 0;
+
+ MapExample.insert(std::make_pair(0,1));
+ MapExample.insert(std::make_pair(1,1));
+ MapExample.insert(std::make_pair(2,1));
+ MapExample.insert(std::make_pair(5,1));
+ MapExample.insert(std::make_pair(500,1));
+ MapExample.insert(std::make_pair(2415,1));
+
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 1;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 3;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 5;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 6;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 499;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 500;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 501;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2414;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2415;
+ ASSERT_EQ(true, MapDataExists(&ItemIndex, &MapExample));
+
+ ItemIndex = 2416;
+ ASSERT_EQ(false, MapDataExists(&ItemIndex, &MapExample));
+
}
\ No newline at end of file