]
+member Pbkdf2_WithSamePasswordAndSalt_ShouldReturnSameHash : unit -> unit
+```
+
+
+
+## See Also
+
+
+#### Reference
+SecurityHelperTests Class
+Tests.Helpers Namespace
diff --git a/Documentation/Help/M_Tests_Helpers_SecurityHelperTests__cctor.md b/Documentation/Help/M_Tests_Helpers_SecurityHelperTests__cctor.md
new file mode 100644
index 0000000..9815d60
--- /dev/null
+++ b/Documentation/Help/M_Tests_Helpers_SecurityHelperTests__cctor.md
@@ -0,0 +1,28 @@
+# SecurityHelperTests Constructor
+
+
+Initializes the static fields of the SecurityHelperTests class
+
+
+
+## Definition
+**Namespace:** Tests.Helpers
+**Assembly:** Tests (in Tests.exe) Version: 1.0.0
+
+**C#**
+``` C#
+static SecurityHelperTests()
+```
+**F#**
+``` F#
+new : unit -> SecurityHelperTests
+```
+
+
+
+## See Also
+
+
+#### Reference
+SecurityHelperTests Class
+Tests.Helpers Namespace
diff --git a/Documentation/Help/M_Tests_Helpers_SecurityHelperTests__ctor.md b/Documentation/Help/M_Tests_Helpers_SecurityHelperTests__ctor.md
new file mode 100644
index 0000000..9b7ac23
--- /dev/null
+++ b/Documentation/Help/M_Tests_Helpers_SecurityHelperTests__ctor.md
@@ -0,0 +1,28 @@
+# SecurityHelperTests Constructor
+
+
+Initializes a new instance of the SecurityHelperTests class
+
+
+
+## Definition
+**Namespace:** Tests.Helpers
+**Assembly:** Tests (in Tests.exe) Version: 1.0.0
+
+**C#**
+``` C#
+public SecurityHelperTests()
+```
+**F#**
+``` F#
+new : unit -> SecurityHelperTests
+```
+
+
+
+## See Also
+
+
+#### Reference
+SecurityHelperTests Class
+Tests.Helpers Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_GenerateSalt.md b/Documentation/Help/M_Tests_PasswordTests_GenerateSalt.md
similarity index 67%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_GenerateSalt.md
rename to Documentation/Help/M_Tests_PasswordTests_GenerateSalt.md
index dd14d06..b68629f 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_GenerateSalt.md
+++ b/Documentation/Help/M_Tests_PasswordTests_GenerateSalt.md
@@ -1,7 +1,7 @@
# GenerateSalt Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.GenerateSalt(System.Int32)"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.GenerateSalt(System.Int32)"\]
@@ -28,15 +28,15 @@ private static member GenerateSalt :
#### Parameters
-- Int32 (Optional)
- \[Missing <param name="size"/> documentation for "M:Tests.Passwords.PasswordTests.GenerateSalt(System.Int32)"\]
+- Int32 (Optional)
- \[Missing <param name="size"/> documentation for "M:Tests.PasswordTests.GenerateSalt(System.Int32)"\]
#### Return Value
Byte[]
-\[Missing <returns> documentation for "M:Tests.Passwords.PasswordTests.GenerateSalt(System.Int32)"\]
+\[Missing <returns> documentation for "M:Tests.PasswordTests.GenerateSalt(System.Int32)"\]
## See Also
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md b/Documentation/Help/M_Tests_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md
similarity index 68%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md
rename to Documentation/Help/M_Tests_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md
index 19b88a5..65fc80d 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md
+++ b/Documentation/Help/M_Tests_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md
@@ -1,7 +1,7 @@
# PasswordCreation_WithInvalidSalt_ReturnsEmptyHash Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.PasswordCreation_WithInvalidSalt_ReturnsEmptyHash"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.PasswordCreation_WithInvalidSalt_ReturnsEmptyHash"\]
@@ -26,5 +26,5 @@ member PasswordCreation_WithInvalidSalt_ReturnsEmptyHash : unit -> unit
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md b/Documentation/Help/M_Tests_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md
similarity index 68%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md
rename to Documentation/Help/M_Tests_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md
index a812512..31cf50a 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md
+++ b/Documentation/Help/M_Tests_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md
@@ -1,7 +1,7 @@
# PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash"\]
@@ -26,5 +26,5 @@ member PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash : unit -> unit
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md b/Documentation/Help/M_Tests_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md
similarity index 68%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md
rename to Documentation/Help/M_Tests_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md
index 1112f63..da890c5 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md
+++ b/Documentation/Help/M_Tests_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md
@@ -1,7 +1,7 @@
# PasswordEquality_DifferentPasswords_AreNotEqual Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.PasswordEquality_DifferentPasswords_AreNotEqual"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.PasswordEquality_DifferentPasswords_AreNotEqual"\]
@@ -26,5 +26,5 @@ member PasswordEquality_DifferentPasswords_AreNotEqual : unit -> unit
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md b/Documentation/Help/M_Tests_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md
similarity index 68%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md
rename to Documentation/Help/M_Tests_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md
index 83356b3..78ce648 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md
+++ b/Documentation/Help/M_Tests_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md
@@ -1,7 +1,7 @@
# PasswordEquality_DifferentSalts_AreNotEqual Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.PasswordEquality_DifferentSalts_AreNotEqual"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.PasswordEquality_DifferentSalts_AreNotEqual"\]
@@ -26,5 +26,5 @@ member PasswordEquality_DifferentSalts_AreNotEqual : unit -> unit
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md b/Documentation/Help/M_Tests_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md
similarity index 68%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md
rename to Documentation/Help/M_Tests_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md
index f1d5c29..575896e 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md
+++ b/Documentation/Help/M_Tests_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md
@@ -1,7 +1,7 @@
# PasswordEquality_SamePasswordAndSalt_AreEqual Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.PasswordEquality_SamePasswordAndSalt_AreEqual"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.PasswordEquality_SamePasswordAndSalt_AreEqual"\]
@@ -26,5 +26,5 @@ member PasswordEquality_SamePasswordAndSalt_AreEqual : unit -> unit
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests_ToString_ReturnsCorrectFormat.md b/Documentation/Help/M_Tests_PasswordTests_ToString_ReturnsCorrectFormat.md
similarity index 67%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests_ToString_ReturnsCorrectFormat.md
rename to Documentation/Help/M_Tests_PasswordTests_ToString_ReturnsCorrectFormat.md
index 24355f7..0d797d1 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests_ToString_ReturnsCorrectFormat.md
+++ b/Documentation/Help/M_Tests_PasswordTests_ToString_ReturnsCorrectFormat.md
@@ -1,7 +1,7 @@
# ToString_ReturnsCorrectFormat Method
-\[Missing <summary> documentation for "M:Tests.Passwords.PasswordTests.ToString_ReturnsCorrectFormat"\]
+\[Missing <summary> documentation for "M:Tests.PasswordTests.ToString_ReturnsCorrectFormat"\]
@@ -26,5 +26,5 @@ member ToString_ReturnsCorrectFormat : unit -> unit
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords_PasswordTests__ctor.md b/Documentation/Help/M_Tests_PasswordTests__ctor.md
similarity index 54%
rename from Documentation/Help/M_Tests_Passwords_PasswordTests__ctor.md
rename to Documentation/Help/M_Tests_PasswordTests__ctor.md
index 70cc68e..1f0ed39 100644
--- a/Documentation/Help/M_Tests_Passwords_PasswordTests__ctor.md
+++ b/Documentation/Help/M_Tests_PasswordTests__ctor.md
@@ -1,7 +1,7 @@
-# Passwords.PasswordTests Constructor
+# PasswordTests Constructor
-Initializes a new instance of the Passwords.PasswordTests class
+Initializes a new instance of the PasswordTests class
@@ -24,5 +24,5 @@ new : unit -> PasswordTests
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_Passwords__ctor.md b/Documentation/Help/M_Tests_Passwords__ctor.md
deleted file mode 100644
index 305febf..0000000
--- a/Documentation/Help/M_Tests_Passwords__ctor.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Passwords Constructor
-
-
-Initializes a new instance of the Passwords class
-
-
-
-## Definition
-**Namespace:** Tests
-**Assembly:** Tests (in Tests.exe) Version: 1.0.0
-
-**C#**
-``` C#
-public Passwords()
-```
-**F#**
-``` F#
-new : unit -> Passwords
-```
-
-
-
-## See Also
-
-
-#### Reference
-Passwords Class
-Tests Namespace
diff --git a/Documentation/Help/M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md
similarity index 75%
rename from Documentation/Help/M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md
rename to Documentation/Help/M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md
index f279893..d4254c0 100644
--- a/Documentation/Help/M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md
+++ b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md
@@ -1,7 +1,7 @@
# IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty Method
-\[Missing <summary> documentation for "M:Tests.StringExtensions.IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty(System.String)"\]
+\[Missing <summary> documentation for "M:Tests.StringExtensionTests.IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty(System.String)"\]
@@ -28,11 +28,11 @@ member IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty :
#### Parameters
-- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensions.IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty(System.String)"\]
+- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensionTests.IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty(System.String)"\]
## See Also
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md
similarity index 74%
rename from Documentation/Help/M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md
rename to Documentation/Help/M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md
index 8f92590..a13a1b8 100644
--- a/Documentation/Help/M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md
+++ b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md
@@ -1,7 +1,7 @@
# IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty Method
-\[Missing <summary> documentation for "M:Tests.StringExtensions.IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty(System.String)"\]
+\[Missing <summary> documentation for "M:Tests.StringExtensionTests.IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty(System.String)"\]
@@ -26,11 +26,11 @@ member IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty :
#### Parameters
-- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensions.IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty(System.String)"\]
+- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensionTests.IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty(System.String)"\]
## See Also
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md
similarity index 74%
rename from Documentation/Help/M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md
rename to Documentation/Help/M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md
index 4bf8262..13b0e6e 100644
--- a/Documentation/Help/M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md
+++ b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md
@@ -1,7 +1,7 @@
# IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace Method
-\[Missing <summary> documentation for "M:Tests.StringExtensions.IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace(System.String)"\]
+\[Missing <summary> documentation for "M:Tests.StringExtensionTests.IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace(System.String)"\]
@@ -28,11 +28,11 @@ member IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitesp
#### Parameters
-- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensions.IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace(System.String)"\]
+- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensionTests.IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace(System.String)"\]
## See Also
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md
similarity index 74%
rename from Documentation/Help/M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md
rename to Documentation/Help/M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md
index 8e9a828..4ae4ee9 100644
--- a/Documentation/Help/M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md
+++ b/Documentation/Help/M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md
@@ -1,7 +1,7 @@
# IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace Method
-\[Missing <summary> documentation for "M:Tests.StringExtensions.IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace(System.String)"\]
+\[Missing <summary> documentation for "M:Tests.StringExtensionTests.IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace(System.String)"\]
@@ -28,11 +28,11 @@ member IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace :
#### Parameters
-- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensions.IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace(System.String)"\]
+- String
- \[Missing <param name="value"/> documentation for "M:Tests.StringExtensionTests.IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace(System.String)"\]
## See Also
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_StringExtensions_Setup.md b/Documentation/Help/M_Tests_StringExtensionTests_Setup.md
similarity index 80%
rename from Documentation/Help/M_Tests_StringExtensions_Setup.md
rename to Documentation/Help/M_Tests_StringExtensionTests_Setup.md
index d0100f1..cce9d50 100644
--- a/Documentation/Help/M_Tests_StringExtensions_Setup.md
+++ b/Documentation/Help/M_Tests_StringExtensionTests_Setup.md
@@ -1,7 +1,7 @@
# Setup Method
-\[Missing <summary> documentation for "M:Tests.StringExtensions.Setup"\]
+\[Missing <summary> documentation for "M:Tests.StringExtensionTests.Setup"\]
@@ -26,5 +26,5 @@ member Setup : unit -> unit
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/M_Tests_StringExtensions__ctor.md b/Documentation/Help/M_Tests_StringExtensionTests__ctor.md
similarity index 57%
rename from Documentation/Help/M_Tests_StringExtensions__ctor.md
rename to Documentation/Help/M_Tests_StringExtensionTests__ctor.md
index b85fc54..0af2452 100644
--- a/Documentation/Help/M_Tests_StringExtensions__ctor.md
+++ b/Documentation/Help/M_Tests_StringExtensionTests__ctor.md
@@ -1,7 +1,7 @@
-# StringExtensions Constructor
+# StringExtensionTests Constructor
-Initializes a new instance of the StringExtensions class
+Initializes a new instance of the StringExtensionTests class
@@ -11,11 +11,11 @@ Initializes a new instance of the StringEx
**C#**
``` C#
-public StringExtensions()
+public StringExtensionTests()
```
**F#**
``` F#
-new : unit -> StringExtensions
+new : unit -> StringExtensionTests
```
@@ -24,5 +24,5 @@ new : unit -> StringExtensions
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/Methods_T_CapyKit_Helpers_SecurityHelper.md b/Documentation/Help/Methods_T_CapyKit_Helpers_SecurityHelper.md
index 8290be9..8bedcf9 100644
--- a/Documentation/Help/Methods_T_CapyKit_Helpers_SecurityHelper.md
+++ b/Documentation/Help/Methods_T_CapyKit_Helpers_SecurityHelper.md
@@ -45,6 +45,9 @@
GetRandomString(Int32, ValidCharacterCollection[]) |
Gets a cryptographically strong random string using the character values found in [!:VALID_CHARACTERS]. |
+GetSalt |
+Generates a random byte array that can act as a salt. |
+
GetType |
Gets the Type of the current instance. (Inherited from Object) |
diff --git a/Documentation/Help/T_Tests_Passwords.md b/Documentation/Help/Methods_T_Tests_Helpers_SecurityHelperTests.md
similarity index 61%
rename from Documentation/Help/T_Tests_Passwords.md
rename to Documentation/Help/Methods_T_Tests_Helpers_SecurityHelperTests.md
index da0d5da..14d3bdb 100644
--- a/Documentation/Help/T_Tests_Passwords.md
+++ b/Documentation/Help/Methods_T_Tests_Helpers_SecurityHelperTests.md
@@ -1,38 +1,23 @@
-# Passwords Class
-
-
-\[Missing <summary> documentation for "T:Tests.Passwords"\]
+# SecurityHelperTests Methods
-## Definition
-**Namespace:** Tests
-**Assembly:** Tests (in Tests.exe) Version: 1.0.0
-
-**C#**
-``` C#
-internal class Passwords
-```
-**F#**
-``` F#
-type Passwords = class end
-```
-
-Inheritance | Object → Passwords |
-
-
-
-
-## Constructors
-
-
-Passwords |
-Initializes a new instance of the Passwords class |
-
## Methods
@@ -56,4 +50,5 @@ type Passwords = class end
#### Reference
-Tests Namespace
+SecurityHelperTests Class
+Tests.Helpers Namespace
diff --git a/Documentation/Help/Methods_T_Tests_Passwords_PasswordTests.md b/Documentation/Help/Methods_T_Tests_PasswordTests.md
similarity index 71%
rename from Documentation/Help/Methods_T_Tests_Passwords_PasswordTests.md
rename to Documentation/Help/Methods_T_Tests_PasswordTests.md
index 27841bb..e03010e 100644
--- a/Documentation/Help/Methods_T_Tests_Passwords_PasswordTests.md
+++ b/Documentation/Help/Methods_T_Tests_PasswordTests.md
@@ -12,7 +12,7 @@
Finalize |
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
-GenerateSalt |
+GenerateSalt |
|
GetHashCode |
@@ -24,25 +24,25 @@
MemberwiseClone |
Creates a shallow copy of the current Object. (Inherited from Object) |
-PasswordCreation_WithInvalidSalt_ReturnsEmptyHash |
+PasswordCreation_WithInvalidSalt_ReturnsEmptyHash |
|
-PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash |
+PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash |
|
-PasswordEquality_DifferentPasswords_AreNotEqual |
+PasswordEquality_DifferentPasswords_AreNotEqual |
|
-PasswordEquality_DifferentSalts_AreNotEqual |
+PasswordEquality_DifferentSalts_AreNotEqual |
|
-PasswordEquality_SamePasswordAndSalt_AreEqual |
+PasswordEquality_SamePasswordAndSalt_AreEqual |
|
ToString |
Returns a string that represents the current object. (Inherited from Object) |
-ToString_ReturnsCorrectFormat |
+ToString_ReturnsCorrectFormat |
|
@@ -50,5 +50,5 @@
#### Reference
-Passwords.PasswordTests Class
+PasswordTests Class
Tests Namespace
diff --git a/Documentation/Help/Methods_T_Tests_Passwords.md b/Documentation/Help/Methods_T_Tests_Passwords.md
deleted file mode 100644
index 874c419..0000000
--- a/Documentation/Help/Methods_T_Tests_Passwords.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Passwords Methods
-
-
-
-
-## Methods
-
-
-Equals |
-Determines whether the specified object is equal to the current object. (Inherited from Object) |
-
-Finalize |
-Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
-
-GetHashCode |
-Serves as the default hash function. (Inherited from Object) |
-
-GetType |
-Gets the Type of the current instance. (Inherited from Object) |
-
-MemberwiseClone |
-Creates a shallow copy of the current Object. (Inherited from Object) |
-
-ToString |
-Returns a string that represents the current object. (Inherited from Object) |
-
-
-## See Also
-
-
-#### Reference
-Passwords Class
-Tests Namespace
diff --git a/Documentation/Help/Methods_T_Tests_StringExtensions.md b/Documentation/Help/Methods_T_Tests_StringExtensionTests.md
similarity index 73%
rename from Documentation/Help/Methods_T_Tests_StringExtensions.md
rename to Documentation/Help/Methods_T_Tests_StringExtensionTests.md
index 338add9..f134b91 100644
--- a/Documentation/Help/Methods_T_Tests_StringExtensions.md
+++ b/Documentation/Help/Methods_T_Tests_StringExtensionTests.md
@@ -1,4 +1,4 @@
-# StringExtensions Methods
+# StringExtensionTests Methods
@@ -18,22 +18,22 @@
GetType |
Gets the Type of the current instance. (Inherited from Object) |
-IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty |
+IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty |
|
-IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty |
+IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty |
|
-IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace |
+IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace |
|
-IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace |
+IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace |
|
MemberwiseClone |
Creates a shallow copy of the current Object. (Inherited from Object) |
-Setup |
+Setup |
|
ToString |
@@ -44,5 +44,5 @@
#### Reference
-StringExtensions Class
+StringExtensionTests Class
Tests Namespace
diff --git a/Documentation/Help/N_Tests.md b/Documentation/Help/N_Tests.md
index 8169aaf..ea69e43 100644
--- a/Documentation/Help/N_Tests.md
+++ b/Documentation/Help/N_Tests.md
@@ -8,12 +8,9 @@
## Classes
\ No newline at end of file
diff --git a/Documentation/Help/N_Tests_Helpers.md b/Documentation/Help/N_Tests_Helpers.md
new file mode 100644
index 0000000..481f73c
--- /dev/null
+++ b/Documentation/Help/N_Tests_Helpers.md
@@ -0,0 +1,13 @@
+# Tests.Helpers Namespace
+
+
+\[Missing <summary> documentation for "N:Tests.Helpers"\]
+
+
+
+## Classes
+
\ No newline at end of file
diff --git a/Documentation/Help/P_CapyKit_Attributes_EnumerationAttribute_1_Value.md b/Documentation/Help/P_CapyKit_Attributes_EnumerationAttribute_1_Value.md
index a8fb0ae..07af611 100644
--- a/Documentation/Help/P_CapyKit_Attributes_EnumerationAttribute_1_Value.md
+++ b/Documentation/Help/P_CapyKit_Attributes_EnumerationAttribute_1_Value.md
@@ -7,7 +7,7 @@ Initializes a new instance of the CapyKit.Attributes
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Attributes_ValueFormatAttribute_Format.md b/Documentation/Help/P_CapyKit_Attributes_ValueFormatAttribute_Format.md
index 3bdab82..c9c9aed 100644
--- a/Documentation/Help/P_CapyKit_Attributes_ValueFormatAttribute_Format.md
+++ b/Documentation/Help/P_CapyKit_Attributes_ValueFormatAttribute_Format.md
@@ -7,7 +7,7 @@ Gets or sets the format to use for formatting the value.
## Definition
**Namespace:** CapyKit.Attributes
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_CapyEventArgs_Level.md b/Documentation/Help/P_CapyKit_CapyEventArgs_Level.md
index 339aac4..fe65d72 100644
--- a/Documentation/Help/P_CapyKit_CapyEventArgs_Level.md
+++ b/Documentation/Help/P_CapyKit_CapyEventArgs_Level.md
@@ -7,7 +7,7 @@ Gets the severity level of the event.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_CapyEventArgs_Message.md b/Documentation/Help/P_CapyKit_CapyEventArgs_Message.md
index 76d8334..edb1fc6 100644
--- a/Documentation/Help/P_CapyKit_CapyEventArgs_Message.md
+++ b/Documentation/Help/P_CapyKit_CapyEventArgs_Message.md
@@ -7,7 +7,7 @@ Gets the message describing the reason for the event.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_CapyEventArgs_MethodName.md b/Documentation/Help/P_CapyKit_CapyEventArgs_MethodName.md
index 3efa094..1cb1797 100644
--- a/Documentation/Help/P_CapyKit_CapyEventArgs_MethodName.md
+++ b/Documentation/Help/P_CapyKit_CapyEventArgs_MethodName.md
@@ -7,7 +7,7 @@ Gets the name of the method where the event was raised.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_EncryptedValue_1_Value.md b/Documentation/Help/P_CapyKit_EncryptedValue_1_Value.md
index ad311c4..a2f5807 100644
--- a/Documentation/Help/P_CapyKit_EncryptedValue_1_Value.md
+++ b/Documentation/Help/P_CapyKit_EncryptedValue_1_Value.md
@@ -7,7 +7,7 @@
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Helpers_IEncryptionAlgorithm_AlgorithmName.md b/Documentation/Help/P_CapyKit_Helpers_IEncryptionAlgorithm_AlgorithmName.md
index 15b6788..9c60690 100644
--- a/Documentation/Help/P_CapyKit_Helpers_IEncryptionAlgorithm_AlgorithmName.md
+++ b/Documentation/Help/P_CapyKit_Helpers_IEncryptionAlgorithm_AlgorithmName.md
@@ -7,7 +7,7 @@
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_IPasswordAlgorithm_AlgorithmName.md b/Documentation/Help/P_CapyKit_IPasswordAlgorithm_AlgorithmName.md
index b1a295f..7d56d13 100644
--- a/Documentation/Help/P_CapyKit_IPasswordAlgorithm_AlgorithmName.md
+++ b/Documentation/Help/P_CapyKit_IPasswordAlgorithm_AlgorithmName.md
@@ -7,7 +7,7 @@ Gets the name of the algorithm.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Password_Algorithm.md b/Documentation/Help/P_CapyKit_Password_Algorithm.md
index a6b361a..0a6eac3 100644
--- a/Documentation/Help/P_CapyKit_Password_Algorithm.md
+++ b/Documentation/Help/P_CapyKit_Password_Algorithm.md
@@ -7,7 +7,7 @@ Gets or sets the algorithm used for password encryption.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Password_Hash.md b/Documentation/Help/P_CapyKit_Password_Hash.md
index 22b2eac..7d52c5f 100644
--- a/Documentation/Help/P_CapyKit_Password_Hash.md
+++ b/Documentation/Help/P_CapyKit_Password_Hash.md
@@ -7,7 +7,7 @@ Gets or sets the hash of the password.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Password_Pbkdf2Algorithm.md b/Documentation/Help/P_CapyKit_Password_Pbkdf2Algorithm.md
index 63e7541..051fd0d 100644
--- a/Documentation/Help/P_CapyKit_Password_Pbkdf2Algorithm.md
+++ b/Documentation/Help/P_CapyKit_Password_Pbkdf2Algorithm.md
@@ -7,7 +7,7 @@ Gets the preconfigured PBKDF2 algorithm.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Password_Salt.md b/Documentation/Help/P_CapyKit_Password_Salt.md
index 7bb4d48..6784045 100644
--- a/Documentation/Help/P_CapyKit_Password_Salt.md
+++ b/Documentation/Help/P_CapyKit_Password_Salt.md
@@ -7,7 +7,7 @@ Gets or sets the salt used for encryption.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_Pbkdf2Algorithm_AlgorithmName.md b/Documentation/Help/P_CapyKit_Pbkdf2Algorithm_AlgorithmName.md
index 8c39c37..e7c3210 100644
--- a/Documentation/Help/P_CapyKit_Pbkdf2Algorithm_AlgorithmName.md
+++ b/Documentation/Help/P_CapyKit_Pbkdf2Algorithm_AlgorithmName.md
@@ -7,7 +7,7 @@ Gets the name of the algorithm.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_PoolItem_1_Index.md b/Documentation/Help/P_CapyKit_PoolItem_1_Index.md
index 6e68944..e2c35cb 100644
--- a/Documentation/Help/P_CapyKit_PoolItem_1_Index.md
+++ b/Documentation/Help/P_CapyKit_PoolItem_1_Index.md
@@ -7,7 +7,7 @@ Gets the zero-based index of the pooled item.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_PoolItem_1_Item.md b/Documentation/Help/P_CapyKit_PoolItem_1_Item.md
index 4c1d0e7..eb68f57 100644
--- a/Documentation/Help/P_CapyKit_PoolItem_1_Item.md
+++ b/Documentation/Help/P_CapyKit_PoolItem_1_Item.md
@@ -7,7 +7,7 @@ Gets the pooled resource.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_PoolItem_1_Locked.md b/Documentation/Help/P_CapyKit_PoolItem_1_Locked.md
index 9721ac7..37c2138 100644
--- a/Documentation/Help/P_CapyKit_PoolItem_1_Locked.md
+++ b/Documentation/Help/P_CapyKit_PoolItem_1_Locked.md
@@ -7,7 +7,7 @@ Gets a value indicating whether this object is locked or not.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/P_CapyKit_PoolItem_1_TypeName.md b/Documentation/Help/P_CapyKit_PoolItem_1_TypeName.md
index 660cdd9..6ec2a6c 100644
--- a/Documentation/Help/P_CapyKit_PoolItem_1_TypeName.md
+++ b/Documentation/Help/P_CapyKit_PoolItem_1_TypeName.md
@@ -7,7 +7,7 @@ Gets the name of the CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/R_Project_Documentation.md b/Documentation/Help/R_Project_Documentation.md
index db0c8eb..80c8f13 100644
--- a/Documentation/Help/R_Project_Documentation.md
+++ b/Documentation/Help/R_Project_Documentation.md
@@ -23,4 +23,7 @@
Tests |
|
+
+Tests.Helpers |
+ |
\ No newline at end of file
diff --git a/Documentation/Help/T_CapyKit_Attributes_EnumerationAttribute_1.md b/Documentation/Help/T_CapyKit_Attributes_EnumerationAttribute_1.md
index 793ef41..79c1c02 100644
--- a/Documentation/Help/T_CapyKit_Attributes_EnumerationAttribute_1.md
+++ b/Documentation/Help/T_CapyKit_Attributes_EnumerationAttribute_1.md
@@ -7,7 +7,7 @@ Custom attribute class for decorating enumeration fields with additional data.
## Definition
**Namespace:** CapyKit.Attributes
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Attributes_EnumerationDescriptionAttribute.md b/Documentation/Help/T_CapyKit_Attributes_EnumerationDescriptionAttribute.md
index 800d379..d97d867 100644
--- a/Documentation/Help/T_CapyKit_Attributes_EnumerationDescriptionAttribute.md
+++ b/Documentation/Help/T_CapyKit_Attributes_EnumerationDescriptionAttribute.md
@@ -7,7 +7,7 @@ An attribute class for decorating enumeration fields with a description.
## Definition
**Namespace:** CapyKit.Attributes
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Attributes_ValueFormatAttribute.md b/Documentation/Help/T_CapyKit_Attributes_ValueFormatAttribute.md
index 82b989e..af7c201 100644
--- a/Documentation/Help/T_CapyKit_Attributes_ValueFormatAttribute.md
+++ b/Documentation/Help/T_CapyKit_Attributes_ValueFormatAttribute.md
@@ -7,7 +7,7 @@ Custom attribute for formatting values in a specific way.
## Definition
**Namespace:** CapyKit.Attributes
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_CapyEventArgs.md b/Documentation/Help/T_CapyKit_CapyEventArgs.md
index 6d9d272..8833e53 100644
--- a/Documentation/Help/T_CapyKit_CapyEventArgs.md
+++ b/Documentation/Help/T_CapyKit_CapyEventArgs.md
@@ -7,7 +7,7 @@ The CapyEventArgs class represents an event argument instance with event level,
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_CapyEventHandler.md b/Documentation/Help/T_CapyKit_CapyEventHandler.md
index 4c30bc5..7656fc5 100644
--- a/Documentation/Help/T_CapyKit_CapyEventHandler.md
+++ b/Documentation/Help/T_CapyKit_CapyEventHandler.md
@@ -7,7 +7,7 @@ A delegate representing an event handler that accepts a CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_CapyEventReporter.md b/Documentation/Help/T_CapyKit_CapyEventReporter.md
index 7ae5f49..419dc3d 100644
--- a/Documentation/Help/T_CapyKit_CapyEventReporter.md
+++ b/Documentation/Help/T_CapyKit_CapyEventReporter.md
@@ -7,7 +7,7 @@ The CapyEventReporter class is responsible for managing event subscriptions and
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Color.md b/Documentation/Help/T_CapyKit_Color.md
index cf2695a..3eddc1c 100644
--- a/Documentation/Help/T_CapyKit_Color.md
+++ b/Documentation/Help/T_CapyKit_Color.md
@@ -7,7 +7,7 @@ Enum representing a set of named colors with their corresponding HEX values. The
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_EncryptedValue_1.md b/Documentation/Help/T_CapyKit_EncryptedValue_1.md
index 359009c..5f04673 100644
--- a/Documentation/Help/T_CapyKit_EncryptedValue_1.md
+++ b/Documentation/Help/T_CapyKit_EncryptedValue_1.md
@@ -7,7 +7,7 @@
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Enumerations_MeasurementSystem.md b/Documentation/Help/T_CapyKit_Enumerations_MeasurementSystem.md
index 4db7bb4..8f90d77 100644
--- a/Documentation/Help/T_CapyKit_Enumerations_MeasurementSystem.md
+++ b/Documentation/Help/T_CapyKit_Enumerations_MeasurementSystem.md
@@ -7,7 +7,7 @@ An enumeration representing different measurement systems.
## Definition
**Namespace:** CapyKit.Enumerations
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_EventLevel.md b/Documentation/Help/T_CapyKit_EventLevel.md
index 23eddda..f2f1047 100644
--- a/Documentation/Help/T_CapyKit_EventLevel.md
+++ b/Documentation/Help/T_CapyKit_EventLevel.md
@@ -7,7 +7,7 @@ Enumeration representing different event level severity values.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Extensions_EnumerationExtensions.md b/Documentation/Help/T_CapyKit_Extensions_EnumerationExtensions.md
index 0a2240d..3811f65 100644
--- a/Documentation/Help/T_CapyKit_Extensions_EnumerationExtensions.md
+++ b/Documentation/Help/T_CapyKit_Extensions_EnumerationExtensions.md
@@ -7,7 +7,7 @@ Provides static extentions methods for providing additional functionality for CapyKit.Extensions
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Extensions_LINQExtensions.md b/Documentation/Help/T_CapyKit_Extensions_LINQExtensions.md
index cdee283..b4bf75b 100644
--- a/Documentation/Help/T_CapyKit_Extensions_LINQExtensions.md
+++ b/Documentation/Help/T_CapyKit_Extensions_LINQExtensions.md
@@ -7,7 +7,7 @@ Provides static extension methods for performing common LINQ operations on CapyKit.Extensions
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Extensions_StringExtensions.md b/Documentation/Help/T_CapyKit_Extensions_StringExtensions.md
index 523c236..401aa4b 100644
--- a/Documentation/Help/T_CapyKit_Extensions_StringExtensions.md
+++ b/Documentation/Help/T_CapyKit_Extensions_StringExtensions.md
@@ -7,7 +7,7 @@ Provides static extentions methods for providing additional functionality for CapyKit.Extensions
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_CalculationHelper.md b/Documentation/Help/T_CapyKit_Helpers_CalculationHelper.md
index 9412395..3992064 100644
--- a/Documentation/Help/T_CapyKit_Helpers_CalculationHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_CalculationHelper.md
@@ -7,7 +7,7 @@ Static class providing helper methods for various calculations.
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_CompressionHelper.md b/Documentation/Help/T_CapyKit_Helpers_CompressionHelper.md
index be310cf..68ecebd 100644
--- a/Documentation/Help/T_CapyKit_Helpers_CompressionHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_CompressionHelper.md
@@ -7,7 +7,7 @@ A class that contains methods for managing data compression.
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_EncryptionHelper.md b/Documentation/Help/T_CapyKit_Helpers_EncryptionHelper.md
index 7ddeed0..f870956 100644
--- a/Documentation/Help/T_CapyKit_Helpers_EncryptionHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_EncryptionHelper.md
@@ -7,7 +7,7 @@
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_IEncryptionAlgorithm.md b/Documentation/Help/T_CapyKit_Helpers_IEncryptionAlgorithm.md
index 243b0eb..1c3ada3 100644
--- a/Documentation/Help/T_CapyKit_Helpers_IEncryptionAlgorithm.md
+++ b/Documentation/Help/T_CapyKit_Helpers_IEncryptionAlgorithm.md
@@ -7,7 +7,7 @@
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_LanguageHelper.md b/Documentation/Help/T_CapyKit_Helpers_LanguageHelper.md
index bb86139..ab474d7 100644
--- a/Documentation/Help/T_CapyKit_Helpers_LanguageHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_LanguageHelper.md
@@ -7,7 +7,7 @@ Helper class for handling text transformations.
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_SecurityHelper.md b/Documentation/Help/T_CapyKit_Helpers_SecurityHelper.md
index 7c5fbda..6d048d3 100644
--- a/Documentation/Help/T_CapyKit_Helpers_SecurityHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_SecurityHelper.md
@@ -7,7 +7,7 @@ A class that contains methods for managing secure data processing and cryptograp
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
@@ -72,6 +72,9 @@ type SecurityHelper = class end
GetRandomString(Int32, ValidCharacterCollection[]) |
Gets a cryptographically strong random string using the character values found in [!:VALID_CHARACTERS]. |
+GetSalt |
+Generates a random byte array that can act as a salt. |
+
GetType |
Gets the Type of the current instance. (Inherited from Object) |
diff --git a/Documentation/Help/T_CapyKit_Helpers_SerializationHelper.md b/Documentation/Help/T_CapyKit_Helpers_SerializationHelper.md
index 2dc5330..ebdf757 100644
--- a/Documentation/Help/T_CapyKit_Helpers_SerializationHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_SerializationHelper.md
@@ -7,7 +7,7 @@
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_SettingsHelper.md b/Documentation/Help/T_CapyKit_Helpers_SettingsHelper.md
index 518a84a..789b970 100644
--- a/Documentation/Help/T_CapyKit_Helpers_SettingsHelper.md
+++ b/Documentation/Help/T_CapyKit_Helpers_SettingsHelper.md
@@ -7,7 +7,7 @@ Static class containing helper methods for retrieving and setting application se
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Helpers_ValidCharacterCollection.md b/Documentation/Help/T_CapyKit_Helpers_ValidCharacterCollection.md
index 91aa1bd..ea8083a 100644
--- a/Documentation/Help/T_CapyKit_Helpers_ValidCharacterCollection.md
+++ b/Documentation/Help/T_CapyKit_Helpers_ValidCharacterCollection.md
@@ -7,7 +7,7 @@ An enumeration that defines the types of characters that can be included in a ra
## Definition
**Namespace:** CapyKit.Helpers
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_IPasswordAlgorithm.md b/Documentation/Help/T_CapyKit_IPasswordAlgorithm.md
index ae817ef..645f086 100644
--- a/Documentation/Help/T_CapyKit_IPasswordAlgorithm.md
+++ b/Documentation/Help/T_CapyKit_IPasswordAlgorithm.md
@@ -7,7 +7,7 @@ Defines the contract for password encryption algorithms.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Password.md b/Documentation/Help/T_CapyKit_Password.md
index 4d21097..829e7c9 100644
--- a/Documentation/Help/T_CapyKit_Password.md
+++ b/Documentation/Help/T_CapyKit_Password.md
@@ -7,7 +7,7 @@ Represents a password with its hash, salt and algorithm used for encryption.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Pbkdf2Algorithm.md b/Documentation/Help/T_CapyKit_Pbkdf2Algorithm.md
index b85e841..4d2804b 100644
--- a/Documentation/Help/T_CapyKit_Pbkdf2Algorithm.md
+++ b/Documentation/Help/T_CapyKit_Pbkdf2Algorithm.md
@@ -7,7 +7,7 @@ Implements the PBKDF2 algorithm for password encryption.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_PoolItem_1.md b/Documentation/Help/T_CapyKit_PoolItem_1.md
index 02d6c9a..5062189 100644
--- a/Documentation/Help/T_CapyKit_PoolItem_1.md
+++ b/Documentation/Help/T_CapyKit_PoolItem_1.md
@@ -7,7 +7,7 @@ A pool item. This class cannot be inherited.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_Pool_1.md b/Documentation/Help/T_CapyKit_Pool_1.md
index f3e7df8..eddad11 100644
--- a/Documentation/Help/T_CapyKit_Pool_1.md
+++ b/Documentation/Help/T_CapyKit_Pool_1.md
@@ -7,7 +7,7 @@ A managed pool of resources. This class provides a thread-safe way to manage a c
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_CapyKit_PropertyComparer_2.md b/Documentation/Help/T_CapyKit_PropertyComparer_2.md
index 0edce08..f75e14a 100644
--- a/Documentation/Help/T_CapyKit_PropertyComparer_2.md
+++ b/Documentation/Help/T_CapyKit_PropertyComparer_2.md
@@ -7,7 +7,7 @@ A object comparer that can accept a lambda expression to compare properties.
## Definition
**Namespace:** CapyKit
-**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.0
+**Assembly:** CapyKit (in CapyKit.dll) Version: 1.0.2
**C#**
``` C#
diff --git a/Documentation/Help/T_Tests_Helpers_SecurityHelperTests.md b/Documentation/Help/T_Tests_Helpers_SecurityHelperTests.md
new file mode 100644
index 0000000..a3d313d
--- /dev/null
+++ b/Documentation/Help/T_Tests_Helpers_SecurityHelperTests.md
@@ -0,0 +1,95 @@
+# SecurityHelperTests Class
+
+
+\[Missing <summary> documentation for "T:Tests.Helpers.SecurityHelperTests"\]
+
+
+
+## Definition
+**Namespace:** Tests.Helpers
+**Assembly:** Tests (in Tests.exe) Version: 1.0.0
+
+**C#**
+``` C#
+[TestFixtureAttribute]
+internal class SecurityHelperTests
+```
+**F#**
+``` F#
+[]
+type SecurityHelperTests = class end
+```
+
+Inheritance | Object → SecurityHelperTests |
+
+
+
+
+## Constructors
+
+
+## Methods
+
+
+## Fields
+
+
+## See Also
+
+
+#### Reference
+Tests.Helpers Namespace
diff --git a/Documentation/Help/T_Tests_Passwords_PasswordTests.md b/Documentation/Help/T_Tests_PasswordTests.md
similarity index 69%
rename from Documentation/Help/T_Tests_Passwords_PasswordTests.md
rename to Documentation/Help/T_Tests_PasswordTests.md
index 3fbdbb6..adac7da 100644
--- a/Documentation/Help/T_Tests_Passwords_PasswordTests.md
+++ b/Documentation/Help/T_Tests_PasswordTests.md
@@ -1,7 +1,7 @@
-# Passwords.PasswordTests Class
+# PasswordTests Class
-\[Missing <summary> documentation for "T:Tests.Passwords.PasswordTests"\]
+\[Missing <summary> documentation for "T:Tests.PasswordTests"\]
@@ -12,7 +12,7 @@
**C#**
``` C#
[TestFixtureAttribute]
-public class PasswordTests
+internal class PasswordTests
```
**F#**
``` F#
@@ -20,7 +20,7 @@ public class PasswordTests
type PasswordTests = class end
```
-
diff --git a/Documentation/Help/T_Tests_StringExtensions.md b/Documentation/Help/T_Tests_StringExtensionTests.md
similarity index 71%
rename from Documentation/Help/T_Tests_StringExtensions.md
rename to Documentation/Help/T_Tests_StringExtensionTests.md
index 78b0a94..122ba56 100644
--- a/Documentation/Help/T_Tests_StringExtensions.md
+++ b/Documentation/Help/T_Tests_StringExtensionTests.md
@@ -1,7 +1,7 @@
-# StringExtensions Class
+# StringExtensionTests Class
-\[Missing <summary> documentation for "T:Tests.StringExtensions"\]
+\[Missing <summary> documentation for "T:Tests.StringExtensionTests"\]
@@ -12,15 +12,15 @@
**C#**
``` C#
[TestFixtureAttribute]
-internal class StringExtensions
+internal class StringExtensionTests
```
**F#**
``` F#
[]
-type StringExtensions = class end
+type StringExtensionTests = class end
```
-Inheritance | Object → StringExtensions |
+Inheritance | Object → StringExtensionTests |
@@ -28,8 +28,8 @@ type StringExtensions = class end
## Constructors
## Methods
@@ -47,22 +47,22 @@ type StringExtensions = class end
GetType |
Gets the Type of the current instance. (Inherited from Object) |
-IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty |
+IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty |
|
-IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty |
+IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty |
|
-IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace |
+IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace |
|
-IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace |
+IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace |
|
MemberwiseClone |
Creates a shallow copy of the current Object. (Inherited from Object) |
-Setup |
+Setup |
|
ToString |
@@ -72,7 +72,7 @@ type StringExtensions = class end
## Fields
diff --git a/Documentation/Help/Working/_InheritedDocs_.xml b/Documentation/Help/Working/_InheritedDocs_.xml
deleted file mode 100644
index 82ddca8..0000000
--- a/Documentation/Help/Working/_InheritedDocs_.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- _InheritedDocs_
-
-
-
-
-Determines whether the specified object is equal to the current object.The object to compare with the current object. if the specified object is equal to the current object; otherwise, .
-
-Returns a string that represents the current object.A string that represents the current object.
-
-
-
-
-
-
- Gets the name of the algorithm.
-
-
\ No newline at end of file
diff --git a/Documentation/Help/_Sidebar.md b/Documentation/Help/_Sidebar.md
index c03984b..d266c52 100644
--- a/Documentation/Help/_Sidebar.md
+++ b/Documentation/Help/_Sidebar.md
@@ -1,4 +1,4 @@
-- [CapyKit - C# Utilities](849aa079-3d64-4cf1-966f-44af23c73160.md)
+- [CapyKit - C# Utilities](fa7407d1-9116-4ad7-a9ab-ed094685b070.md)
- [Namespaces](R_Project_Documentation.md)
- [CapyKit Namespace](N_CapyKit.md)
- [CapyEventArgs Class](T_CapyKit_CapyEventArgs.md)
@@ -201,6 +201,7 @@
- [GetRandomString Method](Overload_CapyKit_Helpers_SecurityHelper_GetRandomString.md)
- [GetRandomString(Int32) Method](M_CapyKit_Helpers_SecurityHelper_GetRandomString.md)
- [GetRandomString(Int32, ValidCharacterCollection[]) Method](M_CapyKit_Helpers_SecurityHelper_GetRandomString_1.md)
+ - [GetSalt Method](M_CapyKit_Helpers_SecurityHelper_GetSalt.md)
- [GetValidCharacterComposition Method](M_CapyKit_Helpers_SecurityHelper_GetValidCharacterComposition.md)
- [Pbkdf2 Method](Overload_CapyKit_Helpers_SecurityHelper_Pbkdf2.md)
- [Pbkdf2(String) Method](M_CapyKit_Helpers_SecurityHelper_Pbkdf2.md)
@@ -230,26 +231,38 @@
- [detector Field](F_CapyKit_Helpers_SettingsHelper_detector.md)
- [ValidCharacterCollection Enumeration](T_CapyKit_Helpers_ValidCharacterCollection.md)
- [Tests Namespace](N_Tests.md)
- - [Passwords Class](T_Tests_Passwords.md)
- - [Passwords Constructor](M_Tests_Passwords__ctor.md)
- - [Passwords Methods](Methods_T_Tests_Passwords.md)
- - [Passwords.PasswordTests Class](T_Tests_Passwords_PasswordTests.md)
- - [Passwords.PasswordTests Constructor](M_Tests_Passwords_PasswordTests__ctor.md)
- - [PasswordTests Methods](Methods_T_Tests_Passwords_PasswordTests.md)
- - [GenerateSalt Method](M_Tests_Passwords_PasswordTests_GenerateSalt.md)
- - [PasswordCreation_WithInvalidSalt_ReturnsEmptyHash Method](M_Tests_Passwords_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md)
- - [PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash Method](M_Tests_Passwords_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md)
- - [PasswordEquality_DifferentPasswords_AreNotEqual Method](M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md)
- - [PasswordEquality_DifferentSalts_AreNotEqual Method](M_Tests_Passwords_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md)
- - [PasswordEquality_SamePasswordAndSalt_AreEqual Method](M_Tests_Passwords_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md)
- - [ToString_ReturnsCorrectFormat Method](M_Tests_Passwords_PasswordTests_ToString_ReturnsCorrectFormat.md)
- - [StringExtensions Class](T_Tests_StringExtensions.md)
- - [StringExtensions Constructor](M_Tests_StringExtensions__ctor.md)
- - [StringExtensions Methods](Methods_T_Tests_StringExtensions.md)
- - [IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty Method](M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md)
- - [IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty Method](M_Tests_StringExtensions_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md)
- - [IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace Method](M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md)
- - [IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace Method](M_Tests_StringExtensions_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md)
- - [Setup Method](M_Tests_StringExtensions_Setup.md)
- - [StringExtensions Fields](Fields_T_Tests_StringExtensions.md)
- - [Replacement Field](F_Tests_StringExtensions_Replacement.md)
+ - [PasswordTests Class](T_Tests_PasswordTests.md)
+ - [PasswordTests Constructor](M_Tests_PasswordTests__ctor.md)
+ - [PasswordTests Methods](Methods_T_Tests_PasswordTests.md)
+ - [GenerateSalt Method](M_Tests_PasswordTests_GenerateSalt.md)
+ - [PasswordCreation_WithInvalidSalt_ReturnsEmptyHash Method](M_Tests_PasswordTests_PasswordCreation_WithInvalidSalt_ReturnsEmptyHash.md)
+ - [PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash Method](M_Tests_PasswordTests_PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash.md)
+ - [PasswordEquality_DifferentPasswords_AreNotEqual Method](M_Tests_PasswordTests_PasswordEquality_DifferentPasswords_AreNotEqual.md)
+ - [PasswordEquality_DifferentSalts_AreNotEqual Method](M_Tests_PasswordTests_PasswordEquality_DifferentSalts_AreNotEqual.md)
+ - [PasswordEquality_SamePasswordAndSalt_AreEqual Method](M_Tests_PasswordTests_PasswordEquality_SamePasswordAndSalt_AreEqual.md)
+ - [ToString_ReturnsCorrectFormat Method](M_Tests_PasswordTests_ToString_ReturnsCorrectFormat.md)
+ - [StringExtensionTests Class](T_Tests_StringExtensionTests.md)
+ - [StringExtensionTests Constructor](M_Tests_StringExtensionTests__ctor.md)
+ - [StringExtensionTests Methods](Methods_T_Tests_StringExtensionTests.md)
+ - [IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty Method](M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnOriginalStringWhenValueIsNotNullNorEmpty.md)
+ - [IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty Method](M_Tests_StringExtensionTests_IfNullOrEmpty_ShouldReturnReplacementWhenValueIsNullOrEmpty.md)
+ - [IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace Method](M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnOriginalStringWhenValueIsNotNullNorWhitespace.md)
+ - [IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace Method](M_Tests_StringExtensionTests_IfNullOrWhiteSpace_ShouldReturnReplacementWhenValueIsNullOrWhitespace.md)
+ - [Setup Method](M_Tests_StringExtensionTests_Setup.md)
+ - [StringExtensionTests Fields](Fields_T_Tests_StringExtensionTests.md)
+ - [Replacement Field](F_Tests_StringExtensionTests_Replacement.md)
+ - [Tests.Helpers Namespace](N_Tests_Helpers.md)
+ - [SecurityHelperTests Class](T_Tests_Helpers_SecurityHelperTests.md)
+ - [SecurityHelperTests Constructor](M_Tests_Helpers_SecurityHelperTests__cctor.md)
+ - [SecurityHelperTests Constructor](M_Tests_Helpers_SecurityHelperTests__ctor.md)
+ - [SecurityHelperTests Methods](Methods_T_Tests_Helpers_SecurityHelperTests.md)
+ - [CompareHashedPassword_WithDifferentPassword_ShouldReturnFalse Method](M_Tests_Helpers_SecurityHelperTests_CompareHashedPassword_WithDifferentPassword_ShouldReturnFalse.md)
+ - [CompareHashedPassword_WithSamePassword_ShouldReturnTrue Method](M_Tests_Helpers_SecurityHelperTests_CompareHashedPassword_WithSamePassword_ShouldReturnTrue.md)
+ - [CompareSessionID_WithDifferentSessionIDs_ShouldReturnFalse Method](M_Tests_Helpers_SecurityHelperTests_CompareSessionID_WithDifferentSessionIDs_ShouldReturnFalse.md)
+ - [CompareSessionID_WithSameSessionIDs_ShouldReturnTrue Method](M_Tests_Helpers_SecurityHelperTests_CompareSessionID_WithSameSessionIDs_ShouldReturnTrue.md)
+ - [GetRandomPassword_ShouldReturnStringOfGivenLength Method](M_Tests_Helpers_SecurityHelperTests_GetRandomPassword_ShouldReturnStringOfGivenLength.md)
+ - [GetRandomString_ShouldReturnStringOfGivenLength Method](M_Tests_Helpers_SecurityHelperTests_GetRandomString_ShouldReturnStringOfGivenLength.md)
+ - [Pbkdf2_WithSamePasswordAndSalt_ShouldReturnSameHash Method](M_Tests_Helpers_SecurityHelperTests_Pbkdf2_WithSamePasswordAndSalt_ShouldReturnSameHash.md)
+ - [SecurityHelperTests Fields](Fields_T_Tests_Helpers_SecurityHelperTests.md)
+ - [Password Field](F_Tests_Helpers_SecurityHelperTests_Password.md)
+ - [Salt Field](F_Tests_Helpers_SecurityHelperTests_Salt.md)
diff --git a/Documentation/Help/fa7407d1-9116-4ad7-a9ab-ed094685b070.md b/Documentation/Help/fa7407d1-9116-4ad7-a9ab-ed094685b070.md
new file mode 100644
index 0000000..079dbe5
--- /dev/null
+++ b/Documentation/Help/fa7407d1-9116-4ad7-a9ab-ed094685b070.md
@@ -0,0 +1,15 @@
+# CapyKit - C# Utilities
+
+Version [TODO: Version] was released on [TODO: Date].
+
+
+## Changes in This Release
+
+
+
+
+## See Also
+
+
+#### Other Resources
+[7d36447b-0aab-4ce9-b5ed-e60ec5bee103]
diff --git a/Tests/Helpers/SecurityHelper.cs b/Tests/Helpers/SecurityHelper.cs
new file mode 100644
index 0000000..92e6838
--- /dev/null
+++ b/Tests/Helpers/SecurityHelper.cs
@@ -0,0 +1,112 @@
+using CapyKit;
+using CapyKit.Helpers;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Security.Cryptography;
+
+namespace Tests.Helpers
+{
+ [TestFixture]
+ internal class SecurityHelperTests
+ {
+ private const string Password = "TestPassword";
+ private static readonly byte[] Salt = SecurityHelper.GetSalt();
+
+ [Test]
+ public void CompareHashedPassword_WithSamePassword_ShouldReturnTrue()
+ {
+ var existingPassword = SecurityHelper.Pbkdf2(Password, Salt);
+ var result = SecurityHelper.CompareHashedPassword(existingPassword, Password, Salt);
+
+ Assert.IsTrue(result);
+ }
+
+ [Test]
+ public void CompareHashedPassword_WithDifferentPassword_ShouldReturnFalse()
+ {
+ var existingPassword = SecurityHelper.Pbkdf2(Password, Salt);
+ var result = SecurityHelper.CompareHashedPassword(existingPassword, "WrongPassword", Salt);
+
+ Assert.IsFalse(result);
+ }
+
+ [Test]
+ public void CompareSessionID_WithSameSessionIDs_ShouldReturnTrue()
+ {
+ var sessionID1 = "SessionID";
+ var sessionID2 = "SessionID";
+
+ var result = SecurityHelper.CompareSessionID(sessionID1, sessionID2);
+
+ Assert.IsTrue(result);
+ }
+
+ [Test]
+ public void CompareSessionID_WithDifferentSessionIDs_ShouldReturnFalse()
+ {
+ var sessionID1 = "SessionID1";
+ var sessionID2 = "SessionID2";
+
+ var result = SecurityHelper.CompareSessionID(sessionID1, sessionID2);
+
+ Assert.IsFalse(result);
+ }
+
+ [Test]
+ public void GetRandomString_ShouldReturnStringOfGivenLength()
+ {
+ int length = 10;
+ var randomString = SecurityHelper.GetRandomString(length);
+
+ Assert.AreEqual(length, randomString.Length);
+ }
+
+ [Test]
+ public void GetRandomPassword_ShouldReturnStringOfGivenLength()
+ {
+ int length = 12;
+ var randomPassword = SecurityHelper.GetRandomPassword(length);
+
+ Assert.AreEqual(length, randomPassword.Length);
+ }
+
+ [Test]
+ public void Pbkdf2_WithSamePasswordAndSalt_ShouldReturnSameHash()
+ {
+ var password1 = SecurityHelper.Pbkdf2(Password, Salt);
+ var password2 = SecurityHelper.Pbkdf2(Password, Salt);
+
+ Assert.AreEqual(password1.Hash, password2.Hash);
+ }
+
+ //[Test]
+ //public void GetPassword_WithPBKDF2Algorithm_ShouldReturnValidPasswordObject()
+ //{
+ // var password = SecurityHelper.GetPassword(Password, Salt);
+
+ // Assert.IsNotNull(password);
+ // Assert.AreEqual(Password, password.);
+ //}
+
+ //[Test]
+ //public void GetPassword_WithDifferentAlgorithm_ShouldReturnDifferentHashes()
+ //{
+ // var password1 = SecurityHelper.GetPassword(Password, Salt);
+ // var password2 = SecurityHelper.GetPassword(Password, Salt); // Replace with another algorithm implementation
+
+ // Assert.AreNotEqual(password1.Hash, password2.Hash);
+ //}
+
+ //[Test]
+ //public void GetRandomBytes_ShouldReturnArrayOfGivenLength()
+ //{
+ // int length = 16;
+ // var bytes = SecurityHelper.GetRandomBytes(length);
+
+ // Assert.AreEqual(length, bytes.Length);
+ //}
+ }
+}
diff --git a/Tests/PasswordTests.cs b/Tests/PasswordTests.cs
new file mode 100644
index 0000000..e486cf1
--- /dev/null
+++ b/Tests/PasswordTests.cs
@@ -0,0 +1,124 @@
+using CapyKit;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tests
+{
+ [TestFixture]
+ internal class PasswordTests
+ {
+ private static byte[] GenerateSalt(int size = 16)
+ {
+ var salt = new byte[size];
+ using (var rng = new System.Security.Cryptography.RNGCryptoServiceProvider())
+ {
+ rng.GetBytes(salt);
+ }
+ return salt;
+ }
+
+ [Test]
+ public void PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash()
+ {
+ // Arrange
+ var passwordText = "mySecurePassword";
+ var salt = GenerateSalt();
+ var algorithm = Password.Pbkdf2Algorithm;
+
+ // Act
+ var password = new Password(passwordText, salt, algorithm);
+
+ // Assert
+ Assert.IsNotNull(password.Hash);
+ Assert.IsNotEmpty(password.Hash);
+ Assert.AreEqual(salt, password.Salt);
+ Assert.AreEqual(algorithm, password.Algorithm);
+ }
+
+ [Test]
+ public void PasswordEquality_SamePasswordAndSalt_AreEqual()
+ {
+ // Arrange
+ var passwordText = "mySecurePassword";
+ var salt = GenerateSalt();
+ var algorithm = Password.Pbkdf2Algorithm;
+
+ var password1 = new Password(passwordText, salt, algorithm);
+ var password2 = new Password(passwordText, salt, algorithm);
+
+ // Act & Assert
+ Assert.AreEqual(password1, password2);
+ Assert.IsTrue(password1 == password2);
+ }
+
+ [Test]
+ public void PasswordEquality_DifferentPasswords_AreNotEqual()
+ {
+ // Arrange
+ var salt = GenerateSalt();
+ var algorithm = new Pbkdf2Algorithm();
+
+ var password1 = new Password("passwordOne", salt, algorithm);
+ var password2 = new Password("passwordTwo", salt, algorithm);
+
+ // Act & Assert
+ Assert.AreNotEqual(password1, password2);
+ Assert.IsTrue(password1 != password2);
+ }
+
+ [Test]
+ public void PasswordEquality_DifferentSalts_AreNotEqual()
+ {
+ // Arrange
+ var passwordText = "mySecurePassword";
+ var salt1 = GenerateSalt();
+ var salt2 = GenerateSalt();
+ var algorithm = Password.Pbkdf2Algorithm;
+
+ var password1 = new Password(passwordText, salt1, algorithm);
+ var password2 = new Password(passwordText, salt2, algorithm);
+
+ // Act & Assert
+ Assert.AreNotEqual(password1, password2);
+ Assert.IsTrue(password1 != password2);
+ }
+
+ [Test]
+ public void ToString_ReturnsCorrectFormat()
+ {
+ // Arrange
+ var passwordText = "mySecurePassword";
+ var salt = GenerateSalt();
+ var algorithm = Password.Pbkdf2Algorithm;
+
+ var password = new Password(passwordText, salt, algorithm);
+
+ // Act
+ var result = password.ToString();
+
+ // Assert
+ Assert.IsTrue(result.Contains("Hash:"));
+ Assert.IsTrue(result.Contains("Salt:"));
+ Assert.IsTrue(result.Contains("Algorithm: Pbkdf2"));
+ }
+
+ [Test]
+ public void PasswordCreation_WithInvalidSalt_ReturnsEmptyHash()
+ {
+ // Arrange
+ var passwordText = "mySecurePassword";
+ byte[] invalidSalt = null; // Invalid salt
+ var algorithm = new Pbkdf2Algorithm();
+
+ // Act
+ var password = new Password(passwordText, invalidSalt, algorithm);
+
+ // Assert
+ Assert.IsNotNull(password.Hash);
+ Assert.IsEmpty(password.Hash);
+ }
+ }
+}
diff --git a/Tests/Passwords.cs b/Tests/Passwords.cs
deleted file mode 100644
index aaa5f1b..0000000
--- a/Tests/Passwords.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-using CapyKit;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tests
-{
- internal class Passwords
- {
- [TestFixture]
- public class PasswordTests
- {
- private static byte[] GenerateSalt(int size = 16)
- {
- var salt = new byte[size];
- using (var rng = new System.Security.Cryptography.RNGCryptoServiceProvider())
- {
- rng.GetBytes(salt);
- }
- return salt;
- }
-
- [Test]
- public void PasswordCreation_WithPbkdf2Algorithm_CreatesValidHash()
- {
- // Arrange
- var passwordText = "mySecurePassword";
- var salt = GenerateSalt();
- var algorithm = Password.Pbkdf2Algorithm;
-
- // Act
- var password = new Password(passwordText, salt, algorithm);
-
- // Assert
- Assert.IsNotNull(password.Hash);
- Assert.IsNotEmpty(password.Hash);
- Assert.AreEqual(salt, password.Salt);
- Assert.AreEqual(algorithm, password.Algorithm);
- }
-
- [Test]
- public void PasswordEquality_SamePasswordAndSalt_AreEqual()
- {
- // Arrange
- var passwordText = "mySecurePassword";
- var salt = GenerateSalt();
- var algorithm = Password.Pbkdf2Algorithm;
-
- var password1 = new Password(passwordText, salt, algorithm);
- var password2 = new Password(passwordText, salt, algorithm);
-
- // Act & Assert
- Assert.AreEqual(password1, password2);
- Assert.IsTrue(password1 == password2);
- }
-
- [Test]
- public void PasswordEquality_DifferentPasswords_AreNotEqual()
- {
- // Arrange
- var salt = GenerateSalt();
- var algorithm = new Pbkdf2Algorithm();
-
- var password1 = new Password("passwordOne", salt, algorithm);
- var password2 = new Password("passwordTwo", salt, algorithm);
-
- // Act & Assert
- Assert.AreNotEqual(password1, password2);
- Assert.IsTrue(password1 != password2);
- }
-
- [Test]
- public void PasswordEquality_DifferentSalts_AreNotEqual()
- {
- // Arrange
- var passwordText = "mySecurePassword";
- var salt1 = GenerateSalt();
- var salt2 = GenerateSalt();
- var algorithm = Password.Pbkdf2Algorithm;
-
- var password1 = new Password(passwordText, salt1, algorithm);
- var password2 = new Password(passwordText, salt2, algorithm);
-
- // Act & Assert
- Assert.AreNotEqual(password1, password2);
- Assert.IsTrue(password1 != password2);
- }
-
- [Test]
- public void ToString_ReturnsCorrectFormat()
- {
- // Arrange
- var passwordText = "mySecurePassword";
- var salt = GenerateSalt();
- var algorithm = Password.Pbkdf2Algorithm;
-
- var password = new Password(passwordText, salt, algorithm);
-
- // Act
- var result = password.ToString();
-
- // Assert
- Assert.IsTrue(result.Contains("Hash:"));
- Assert.IsTrue(result.Contains("Salt:"));
- Assert.IsTrue(result.Contains("Algorithm: Pbkdf2"));
- }
-
- [Test]
- public void PasswordCreation_WithInvalidSalt_ReturnsEmptyHash()
- {
- // Arrange
- var passwordText = "mySecurePassword";
- byte[] invalidSalt = null; // Invalid salt
- var algorithm = new Pbkdf2Algorithm();
-
- // Act
- var password = new Password(passwordText, invalidSalt, algorithm);
-
- // Assert
- Assert.IsNotNull(password.Hash);
- Assert.IsEmpty(password.Hash);
- }
- }
- }
-}
diff --git a/Tests/StringExtensions.cs b/Tests/StringExtensionTests.cs
similarity index 97%
rename from Tests/StringExtensions.cs
rename to Tests/StringExtensionTests.cs
index 266f1fa..acd3429 100644
--- a/Tests/StringExtensions.cs
+++ b/Tests/StringExtensionTests.cs
@@ -10,7 +10,7 @@ using NUnit.Framework;
namespace Tests
{
[TestFixture]
- internal class StringExtensions
+ internal class StringExtensionTests
{
private const string Replacement = "Replaced";
diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj
index d6604e7..881a38d 100644
--- a/Tests/Tests.csproj
+++ b/Tests/Tests.csproj
@@ -1,4 +1,4 @@
-
+
net8.0