+}
+
+TEST(CommonFunctions, GivenTwoDomainNamesWhenCheckDangerousListIsCalledThenReturnsCorrectStatus)
+{
+
+ // Test that the dangerous list is actually working.
+
+ // Given
+
+ bool domainStatus = true;
+
+ // When
+
+ domainStatus = CheckDangerousList("example.com");
+
+ // Then
+
+ ASSERT_EQ(false, domainStatus);
+
+ // When
+
+ domainStatus = false;
+ domainStatus = CheckDangerousList("google.com");
+
+ // Then
+
+ ASSERT_EQ(true, domainStatus);
+
+}
+
+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
+
+ wxString 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
+
+ wxString 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
+
+ wxString 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
+
+ wxString 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, 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
+
+ wxString 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
+
+ wxString 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
+
+ wxString 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, 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());
+
+}
+
+TEST(CommonFunctions, GivenStringWithNewlinesWhenResetUnusedStringIsCalledThenStringIsFormatted)
+{
+
+ // Tests for resetting an unused string.
+
+ // Given
+
+ wxString 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
+
+ wxString ResetUnusedStringData = "And now the list of characters: \\\\ \\n \\; \\,";
+
+ // When
+
+ ResetUnusedString(&ResetUnusedStringData);
+
+ // Then
+
+ ASSERT_EQ("And now the list of characters: \\ \n ; ,", ResetUnusedStringData.ToStdString());
+
+}
+
+TEST(CommonFunctions, GivenStringWhenConvertToHTMLIsCalledThenStringisHTMLEscaped)
+{
+
+ // Tests for converting data for inserting into a HTML
+ // formatted document.
+
+ // Given
+
+ wxString ConvertToHTMLData = "The test line where < is probably better than >!";
+
+ // When
+
+ ConvertToHTML(&ConvertToHTMLData);
+
+ // Then
+
+ ASSERT_EQ("The test line where < is probably better than >!", ConvertToHTMLData.ToStdString());
+
+}
+
+TEST(CommonFunctions, GivenStringWithNewlineWhenConvertToHTMLIsCalledThenStringIsHTMLEscapedWithFormattedNewline)
+{
+
+ // Tests for converting data for inserting into a HTML
+ // formatted document.
+
+ // Given
+
+ wxString ConvertToHTMLData = "More testing &<>\n";
+
+ // When
+
+ ConvertToHTML(&ConvertToHTMLData);
+
+ // Then
+
+ ASSERT_EQ("More testing &<><br>", ConvertToHTMLData.ToStdString());
+
+}
+
+TEST(CommonFunctions, GivenStringWithSeveralLinesWhenConvertToHTMLIsCalledThenStringIsHTMLEscapedWithFormattedNewlines)
+{
+
+ // Tests for converting data for inserting into a HTML
+ // formatted document.
+
+ // Given
+
+ wxString ConvertToHTMLData = "This is the first line.\nThis is the second line.\nThis is the third line.";
+
+ // When
+
+ ConvertToHTML(&ConvertToHTMLData);
+
+ // Then
+
+ ASSERT_EQ("This is the first line.<br>This is the second line.<br>This is the third line.", ConvertToHTMLData.ToStdString());
+
+}
+
+static std::map<int,int> mapExample =
+{
+ { 0, 1 }, { 1, 1 }, { 2, 1 }, { 5, 1 }, { 500, 1 }, { 2415, 1 }
+};
+static int itemIndex = 0;
+
+bool mapExistsStatus = false;
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs0WhenMapDataExistsIsCalledThenConfirmItemIndex0DoesExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 0;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(true, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs1WhenMapDataExistsIsCalledThenConfirmItemIndex1DoesExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 1;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(true, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs2WhenMapDataExistsIsCalledThenConfirmItemIndex2DoesExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 2;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(true, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsTrueAndItemIndexIs3WhenMapDataExistsIsCalledThenConfirmItemIndex3DoesntExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = true;
+ itemIndex = 3;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(false, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs5WhenMapDataExistsIsCalledThenConfirmItemIndex5DoesExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 5;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(true, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsTrueAndItemIndexIs6WhenMapDataExistsIsCalledThenConfirmItemIndex6DoesntExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = true;
+ itemIndex = 6;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(false, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs499WhenMapDataExistsIsCalledThenConfirmItemIndex499DoesntExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 499;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(false, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs500WhenMapDataExistsIsCalledThenConfirmItemIndex500DoesExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 500;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(true, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsTrueAndItemIndexIs501WhenMapDataExistsIsCalledThenConfirmItemIndex501DoesntExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = true;
+ itemIndex = 501;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(false, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsTrueAndItemIndexIs2414WhenMapDataExistsIsCalledThenConfirmItemIndex2414DoesntExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = true;
+ itemIndex = 2414;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(false, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsFalseAndItemIndexIs2415WhenMapDataExistsIsCalledThenConfirmItemIndex2415DoesExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = false;
+ itemIndex = 2415;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(true, mapExistsStatus);
+
+}
+
+TEST(CommonFunctions, GivenMapExistsStatusIsTrueAndItemIndexIs2416WhenMapDataExistsIsCalledThenConfirmItemIndex2416DoesntExist)
+{
+
+ // Tests for checking that map data exists.
+
+ // Given
+
+ mapExistsStatus = true;
+ itemIndex = 2416;
+
+ // When
+
+ mapExistsStatus = MapDataExists(&itemIndex, &mapExample);
+
+ // Then
+
+ ASSERT_EQ(false, mapExistsStatus);
+