|
@@ -3,16 +3,18 @@
|
|
|
* Company: Lynar Studios
|
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
|
* Created: 2023-02-08
|
|
|
-* Changed: 2023-03-25
|
|
|
+* Changed: 2023-04-04
|
|
|
*
|
|
|
* */
|
|
|
|
|
|
#include <gtest/gtest.h>
|
|
|
#include <ls-std/ls-std-core.hpp>
|
|
|
+#include <memory>
|
|
|
#include <string>
|
|
|
|
|
|
using ls::std::core::NullPointerEvaluator;
|
|
|
using ls::std::core::NullPointerException;
|
|
|
+using std::shared_ptr;
|
|
|
using std::string;
|
|
|
using testing::Test;
|
|
|
|
|
@@ -26,7 +28,7 @@ namespace
|
|
|
~NullPointerArgumentTest() override = default;
|
|
|
};
|
|
|
|
|
|
- TEST_F(NullPointerArgumentTest, evaluate)
|
|
|
+ TEST_F(NullPointerArgumentTest, evaluate_raw_pointer)
|
|
|
{
|
|
|
EXPECT_THROW(
|
|
|
{
|
|
@@ -46,7 +48,7 @@ namespace
|
|
|
NullPointerException);
|
|
|
}
|
|
|
|
|
|
- TEST_F(NullPointerArgumentTest, evaluate_dedicated_message)
|
|
|
+ TEST_F(NullPointerArgumentTest, evaluate_raw_pointer_dedicated_message)
|
|
|
{
|
|
|
EXPECT_THROW(
|
|
|
{
|
|
@@ -65,4 +67,48 @@ namespace
|
|
|
},
|
|
|
NullPointerException);
|
|
|
}
|
|
|
+
|
|
|
+ TEST_F(NullPointerArgumentTest, evaluate)
|
|
|
+ {
|
|
|
+ shared_ptr<void> value{};
|
|
|
+
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ NullPointerEvaluator{value}.evaluate();
|
|
|
+ }
|
|
|
+ catch (const NullPointerException &_exception)
|
|
|
+ {
|
|
|
+ string actual = _exception.what();
|
|
|
+ string expected = _exception.getName() + " thrown - reference in use is null!";
|
|
|
+
|
|
|
+ ASSERT_STREQ(expected.c_str(), actual.c_str());
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ NullPointerException);
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(NullPointerArgumentTest, evaluate_dedicated_message)
|
|
|
+ {
|
|
|
+ shared_ptr<void> value{};
|
|
|
+
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ NullPointerEvaluator(value, "this reference is not set and causes this exception!").evaluate();
|
|
|
+ }
|
|
|
+ catch (const NullPointerException &_exception)
|
|
|
+ {
|
|
|
+ string actual = _exception.what();
|
|
|
+ string expected = _exception.getName() + " thrown - this reference is not set and causes this exception!";
|
|
|
+
|
|
|
+ ASSERT_STREQ(expected.c_str(), actual.c_str());
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ NullPointerException);
|
|
|
+ }
|
|
|
}
|