Browse Source

Remove key-value file logic

Patrick-Christopher Mattulat 2 years ago
parent
commit
1f9896b318

+ 0 - 10
CMakeLists.txt

@@ -168,11 +168,6 @@ set(SOURCE_FILES_EVENT
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/event/Narrator.cpp)
 
 set(SOURCE_FILES_IO
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/kv/KvDocument.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/kv/KvFileReader.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/kv/KvPair.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/kv/KvParseParameter.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/kv/KvParser.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/logging/Logger.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/logging/LogLevel.cpp
         ${CMAKE_CURRENT_SOURCE_DIR}/source/ls-std/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluator.cpp
@@ -270,11 +265,6 @@ if (${LS_STD_BUILD_WITH_TESTS})
             ${CMAKE_CURRENT_SOURCE_DIR}/test/classes/event/TestDataMercedesCar.cpp)
 
     set(TEST_FILES_IO
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/kv/KvDocumentTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/kv/KvFileReaderTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/kv/KvPairTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/kv/KvParseParameterTest.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/kv/KvParserTest.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/logging/LoggerTest.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/logging/LogLevelTest.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/test/cases/io/section-pair/evaluator/SectionPairIdentifierArgumentEvaluatorTest.cpp

+ 0 - 42
include/ls-std/io/kv/KvDocument.hpp

@@ -1,42 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-08
- *
- * */
-
-#ifndef LS_STD_KV_DOCUMENT_HPP
-#define LS_STD_KV_DOCUMENT_HPP
-
-#include "KvPair.hpp"
-#include <ls-std/core/Class.hpp>
-#include <ls-std/core/type/KvTypes.hpp>
-#include <ls-std/os/dynamic-goal.hpp>
-#include <map>
-
-namespace ls::std::io
-{
-  class LS_STD_DYNAMIC_GOAL KvDocument : public ls::std::core::Class
-  {
-    public:
-
-      KvDocument();
-      ~KvDocument() override;
-
-      bool addPair(ls::std::io::KvPair _pair); // nodiscard is optional here
-      void clear();
-      [[nodiscard]] ::std::map<ls::std::core::type::kv_key, ls::std::io::KvPair> getPairs();
-      [[nodiscard]] bool hasPair(const ls::std::core::type::kv_key &_key);
-      bool removePair(const ls::std::core::type::kv_key &_key); // nodiscard is optional here
-
-    private:
-
-      ::std::map<ls::std::core::type::kv_key, ls::std::io::KvPair> pairs{};
-
-      [[nodiscard]] bool _hasPair(const ls::std::core::type::kv_key &_key);
-  };
-}
-
-#endif

+ 0 - 49
include/ls-std/io/kv/KvFileReader.hpp

@@ -1,49 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-06
- *
- * */
-
-#ifndef LS_STD_KV_FILE_READER_HPP
-#define LS_STD_KV_FILE_READER_HPP
-
-#include <ls-std/core/Class.hpp>
-#include <ls-std/core/interface/IReader.hpp>
-#include <ls-std/io/File.hpp>
-#include <ls-std/io/kv/KvDocument.hpp>
-#include <ls-std/os/dynamic-goal.hpp>
-#include <memory>
-
-namespace ls::std::io
-{
-  class LS_STD_DYNAMIC_GOAL KvFileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
-  {
-    public:
-
-      explicit KvFileReader(const ::std::shared_ptr<ls::std::io::KvDocument> &_document, const ::std::string &_absolutePath);
-      ~KvFileReader() override;
-
-      // implementation
-
-      ls::std::core::type::byte_field read() override; // nodiscard is optional here
-
-      // additional functionality
-
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::KvDocument> getDocument();
-      void setDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document);
-      void setFile(const ls::std::io::File &_kvFile);
-
-    private:
-
-      ::std::shared_ptr<ls::std::io::KvDocument> document{};
-      ls::std::io::File kvFile;
-
-      void _assignDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document);
-      void _assignFile(ls::std::io::File _kvFile);
-  };
-}
-
-#endif

+ 0 - 39
include/ls-std/io/kv/KvPair.hpp

@@ -1,39 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-08
- *
- * */
-
-#ifndef LS_STD_KV_PAIR_HPP
-#define LS_STD_KV_PAIR_HPP
-
-#include <ls-std/core/Class.hpp>
-#include <ls-std/core/type/KvTypes.hpp>
-#include <ls-std/os/dynamic-goal.hpp>
-
-namespace ls::std::io
-{
-  class LS_STD_DYNAMIC_GOAL KvPair : public ls::std::core::Class
-  {
-    public:
-
-      explicit KvPair(const ls::std::core::type::kv_key &_key, ls::std::core::type::kv_value _value);
-      ~KvPair() override;
-
-      [[nodiscard]] ls::std::core::type::kv_key getKey();
-      [[nodiscard]] ls::std::core::type::kv_value getValue();
-      void setValue(const ls::std::core::type::kv_value &_value);
-
-    private:
-
-      ls::std::core::type::kv_key key{};
-      ls::std::core::type::kv_value value{};
-
-      void _assignKey(const ls::std::core::type::kv_key &_key);
-  };
-}
-
-#endif

+ 0 - 37
include/ls-std/io/kv/KvParseParameter.hpp

@@ -1,37 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-06
- *
- * */
-
-#ifndef LS_STD_KV_PARSE_DATA_HPP
-#define LS_STD_KV_PARSE_DATA_HPP
-
-#include <ls-std/os/dynamic-goal.hpp>
-#include <string>
-
-namespace ls::std::io
-{
-  class LS_STD_DYNAMIC_GOAL KvParseParameter
-  {
-    public:
-
-      KvParseParameter();
-      ~KvParseParameter();
-
-      [[nodiscard]] ::std::string::size_type getIndex() const;
-      [[nodiscard]] ::std::string getLine();
-      void setIndex(const ::std::string::size_type &_index);
-      void setLine(const ::std::string &_line);
-
-    private:
-
-      ::std::string::size_type index{};
-      ::std::string line{};
-  };
-}
-
-#endif

+ 0 - 48
include/ls-std/io/kv/KvParser.hpp

@@ -1,48 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-08
- *
- * */
-
-#ifndef LS_STD_KV_PARSER_HPP
-#define LS_STD_KV_PARSER_HPP
-
-#include "KvDocument.hpp"
-#include "KvParseParameter.hpp"
-#include <ls-std/core/Class.hpp>
-#include <ls-std/core/type/Types.hpp>
-#include <ls-std/os/dynamic-goal.hpp>
-#include <memory>
-
-namespace ls::std::io
-{
-  class LS_STD_DYNAMIC_GOAL KvParser : public ls::std::core::Class
-  {
-    public:
-
-      explicit KvParser(const ::std::shared_ptr<ls::std::io::KvDocument> &_document);
-      ~KvParser() override;
-
-      [[nodiscard]] ::std::shared_ptr<ls::std::io::KvDocument> getDocument();
-      void parse(const ls::std::core::type::byte_field &_data);
-      void setDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document);
-
-    private:
-
-      ::std::shared_ptr<ls::std::io::KvDocument> document{};
-
-      void _assignDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document);
-      [[nodiscard]] static bool _contains(const ::std::string &_text, const ::std::string &_searchText);
-      [[nodiscard]] static bool _lineHasPair(ls::std::io::KvParseParameter &_parseParameter);
-      void _parse(const ls::std::core::type::byte_field &_data);
-      void _parsePair(ls::std::io::KvParseParameter &_parseParameter);
-      [[nodiscard]] static ls::std::io::KvParseParameter _readLine(const ls::std::core::type::byte_field &_data, ::std::string::size_type _index);
-      static void _readLineWithUnixLineBreak(ls::std::io::KvParseParameter &_parseParameter);
-      static void _readLineWithWindowsLineBreak(ls::std::io::KvParseParameter &_parseParameter);
-  };
-}
-
-#endif

+ 0 - 6
include/ls-std/ls-std-io.hpp

@@ -10,12 +10,6 @@
 #ifndef LS_STD_LS_STD_IO_HPP
 #define LS_STD_LS_STD_IO_HPP
 
-#include <ls-std/io/kv/KvDocument.hpp>
-#include <ls-std/io/kv/KvFileReader.hpp>
-#include <ls-std/io/kv/KvPair.hpp>
-#include <ls-std/io/kv/KvParseParameter.hpp>
-#include <ls-std/io/kv/KvParser.hpp>
-
 #include <ls-std/io/logging/LogLevel.hpp>
 #include <ls-std/io/logging/LogLevelValue.hpp>
 #include <ls-std/io/logging/Logger.hpp>

+ 0 - 53
source/ls-std/io/kv/KvDocument.cpp

@@ -1,53 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-04
- *
- * */
-
-#include <ls-std/io/kv/KvDocument.hpp>
-
-ls::std::io::KvDocument::KvDocument() : ls::std::core::Class("KvDocument")
-{}
-
-ls::std::io::KvDocument::~KvDocument() = default;
-
-bool ls::std::io::KvDocument::addPair(ls::std::io::KvPair _pair)
-{
-  bool added{};
-
-  if (!this->_hasPair(_pair.getKey()))
-  {
-    ::std::pair<ls::std::core::type::kv_key, ls::std::io::KvPair> pair = ::std::make_pair(_pair.getKey(), _pair);
-    added = this->pairs.insert(pair).second;
-  }
-
-  return added;
-}
-
-void ls::std::io::KvDocument::clear()
-{
-  this->pairs.clear();
-}
-
-::std::map<ls::std::core::type::kv_key, ls::std::io::KvPair> ls::std::io::KvDocument::getPairs()
-{
-  return this->pairs;
-}
-
-bool ls::std::io::KvDocument::hasPair(const ls::std::core::type::kv_key &_key)
-{
-  return this->_hasPair(_key);
-}
-
-bool ls::std::io::KvDocument::removePair(const ls::std::core::type::kv_key &_key)
-{
-  return this->pairs.erase(_key) == 1;
-}
-
-bool ls::std::io::KvDocument::_hasPair(const ls::std::core::type::kv_key &_key)
-{
-  return this->pairs.find(_key) != this->pairs.end();
-}

+ 0 - 61
source/ls-std/io/kv/KvFileReader.cpp

@@ -1,61 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-08
- *
- * */
-
-#include <ls-std/core/evaluator/NullPointerArgumentEvaluator.hpp>
-#include <ls-std/core/exception/IllegalArgumentException.hpp>
-#include <ls-std/io/FileReader.hpp>
-#include <ls-std/io/kv/KvFileReader.hpp>
-#include <ls-std/io/kv/KvParser.hpp>
-
-ls::std::io::KvFileReader::KvFileReader(const ::std::shared_ptr<ls::std::io::KvDocument> &_document, const ::std::string &_absolutePath) : ls::std::core::Class("KvFileReader"), kvFile(ls::std::io::File{""})
-{
-  this->_assignDocument(_document);
-  this->_assignFile(ls::std::io::File{_absolutePath});
-}
-
-ls::std::io::KvFileReader::~KvFileReader() = default;
-
-ls::std::core::type::byte_field ls::std::io::KvFileReader::read()
-{
-  ls::std::core::type::byte_field data = ls::std::io::FileReader{this->kvFile}.read();
-  ls::std::io::KvParser{this->document}.parse(data);
-
-  return data;
-}
-
-::std::shared_ptr<ls::std::io::KvDocument> ls::std::io::KvFileReader::getDocument()
-{
-  return this->document;
-}
-
-void ls::std::io::KvFileReader::setDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document)
-{
-  this->_assignDocument(_document);
-}
-
-void ls::std::io::KvFileReader::setFile(const ls::std::io::File &_kvFile)
-{
-  this->_assignFile(_kvFile);
-}
-
-void ls::std::io::KvFileReader::_assignDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document)
-{
-  ls::std::core::NullPointerArgumentEvaluator{_document, "passed document reference is null!"}.evaluate();
-  this->document = _document;
-}
-
-void ls::std::io::KvFileReader::_assignFile(ls::std::io::File _kvFile)
-{
-  if (!_kvFile.exists())
-  {
-    throw ls::std::core::IllegalArgumentException{"file does not exist: " + _kvFile.getAbsoluteFilePath()};
-  }
-
-  this->kvFile = _kvFile;
-}

+ 0 - 39
source/ls-std/io/kv/KvPair.cpp

@@ -1,39 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-08
- *
- * */
-
-#include <ls-std/core/evaluator/EmptyStringArgumentEvaluator.hpp>
-#include <ls-std/io/kv/KvPair.hpp>
-
-ls::std::io::KvPair::KvPair(const ls::std::core::type::kv_key &_key, ls::std::core::type::kv_value _value) : ls::std::core::Class("KvPair"), value(::std::move(_value))
-{
-  this->_assignKey(_key);
-}
-
-ls::std::io::KvPair::~KvPair() = default;
-
-ls::std::core::type::kv_key ls::std::io::KvPair::getKey()
-{
-  return this->key;
-}
-
-ls::std::core::type::kv_value ls::std::io::KvPair::getValue()
-{
-  return this->value;
-}
-
-void ls::std::io::KvPair::setValue(const ls::std::core::type::kv_value &_value)
-{
-  this->value = _value;
-}
-
-void ls::std::io::KvPair::_assignKey(const ls::std::core::type::kv_key &_key)
-{
-  ls::std::core::EmptyStringArgumentEvaluator{_key, "key is empty!"}.evaluate();
-  this->key = _key;
-}

+ 0 - 34
source/ls-std/io/kv/KvParseParameter.cpp

@@ -1,34 +0,0 @@
-/*
-* Author:          Patrick-Christopher Mattulat
-* Company:         Lynar Studios
-* E-Mail:          webmaster@lynarstudios.com
-* Created:         2023-02-05
-* Changed:         2023-02-05
-*
-* */
-
-#include <ls-std/io/kv/KvParseParameter.hpp>
-
-ls::std::io::KvParseParameter::KvParseParameter() = default;
-
-ls::std::io::KvParseParameter::~KvParseParameter() = default;
-
-::std::string::size_type ls::std::io::KvParseParameter::getIndex() const
-{
-  return this->index;
-}
-
-::std::string ls::std::io::KvParseParameter::getLine()
-{
-  return this->line;
-}
-
-void ls::std::io::KvParseParameter::setIndex(const ::std::string::size_type &_index)
-{
-  this->index = _index;
-}
-
-void ls::std::io::KvParseParameter::setLine(const ::std::string &_line)
-{
-  this->line = _line;
-}

+ 0 - 106
source/ls-std/io/kv/KvParser.cpp

@@ -1,106 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-08
- *
- * */
-
-#include <ls-std/core/evaluator/NullPointerArgumentEvaluator.hpp>
-#include <ls-std/io/NewLine.hpp>
-#include <ls-std/io/kv/KvParser.hpp>
-
-ls::std::io::KvParser::KvParser(const ::std::shared_ptr<ls::std::io::KvDocument> &_document) : ls::std::core::Class("KvParser")
-{
-  this->_assignDocument(_document);
-}
-
-ls::std::io::KvParser::~KvParser() = default;
-
-::std::shared_ptr<ls::std::io::KvDocument> ls::std::io::KvParser::getDocument()
-{
-  return this->document;
-}
-
-void ls::std::io::KvParser::parse(const ls::std::core::type::byte_field &_data)
-{
-  this->_parse(_data);
-}
-
-void ls::std::io::KvParser::setDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document)
-{
-  this->_assignDocument(_document);
-}
-
-void ls::std::io::KvParser::_assignDocument(const ::std::shared_ptr<ls::std::io::KvDocument> &_document)
-{
-  ls::std::core::NullPointerArgumentEvaluator{_document, "reference to document is null!"}.evaluate();
-  this->document = _document;
-}
-
-bool ls::std::io::KvParser::_contains(const ::std::string &_text, const ::std::string &_searchText)
-{
-  return _text.find(_searchText) != ::std::string::npos;
-}
-
-bool ls::std::io::KvParser::_lineHasPair(ls::std::io::KvParseParameter &_parseParameter)
-{
-  return ls::std::io::KvParser::_contains(_parseParameter.getLine(), "=") && ls::std::io::KvParser::_contains(_parseParameter.getLine(), ";");
-}
-
-void ls::std::io::KvParser::_parse(const ls::std::core::type::byte_field &_data)
-{
-  for (::std::string::size_type index = 0; index < _data.size(); index++)
-  {
-    ls::std::io::KvParseParameter parseParameter = ls::std::io::KvParser::_readLine(_data, index);
-    this->_parsePair(parseParameter);
-    index = parseParameter.getIndex();
-  }
-}
-
-void ls::std::io::KvParser::_parsePair(ls::std::io::KvParseParameter &_parseParameter)
-{
-  if (ls::std::io::KvParser::_lineHasPair(_parseParameter))
-  {
-    size_t equalSignPosition = _parseParameter.getLine().find('=');
-    ls::std::core::type::kv_key key = _parseParameter.getLine().substr(0, equalSignPosition);
-    ls::std::core::type::kv_value value = _parseParameter.getLine().substr(equalSignPosition + 1);
-    value = value.substr(0, value.find(';'));
-
-    this->document->addPair(ls::std::io::KvPair{key, value});
-  }
-}
-
-ls::std::io::KvParseParameter ls::std::io::KvParser::_readLine(const ls::std::core::type::byte_field &_data, ::std::string::size_type _index)
-{
-  ls::std::io::KvParseParameter parseParameter{};
-  parseParameter.setLine(_data.substr(_index));
-
-  if (ls::std::io::KvParser::_contains(parseParameter.getLine(), ls::std::io::NewLine::getWindowsNewLine()))
-  {
-    ls::std::io::KvParser::_readLineWithWindowsLineBreak(parseParameter);
-  }
-  else
-  {
-    if (ls::std::io::KvParser::_contains(parseParameter.getLine(), ls::std::io::NewLine::getUnixNewLine()))
-    {
-      ls::std::io::KvParser::_readLineWithUnixLineBreak(parseParameter);
-    }
-  }
-
-  parseParameter.setIndex(_index + parseParameter.getLine().size());
-  return parseParameter;
-}
-
-void ls::std::io::KvParser::_readLineWithUnixLineBreak(ls::std::io::KvParseParameter &_parseParameter)
-{
-  size_t newLinePosition = _parseParameter.getLine().find(ls::std::io::NewLine::getUnixNewLine());
-  _parseParameter.setLine(_parseParameter.getLine().substr(0, newLinePosition));
-}
-
-void ls::std::io::KvParser::_readLineWithWindowsLineBreak(ls::std::io::KvParseParameter &_parseParameter)
-{
-  size_t newLinePosition = _parseParameter.getLine().find(ls::std::io::NewLine::getWindowsNewLine());
-  _parseParameter.setLine(_parseParameter.getLine().substr(0, newLinePosition + 1));
-}

+ 0 - 106
test/cases/io/kv/KvDocumentTest.cpp

@@ -1,106 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-03
- *
- * */
-
-#include <gtest/gtest.h>
-#include <ls-std/ls-std-io.hpp>
-
-using namespace ls::std::io;
-
-namespace
-{
-  class KvDocumentTest : public ::testing::Test
-  {
-    protected:
-
-      KvDocumentTest() = default;
-      ~KvDocumentTest() override = default;
-
-      void SetUp() override
-      {}
-
-      void TearDown() override
-      {}
-  };
-
-  TEST_F(KvDocumentTest, addPair)
-  {
-    KvDocument document{};
-    KvPair pair{"port", "13088"};
-
-    ASSERT_TRUE(document.addPair(pair));
-    ASSERT_EQ(1, document.getPairs().size());
-  }
-
-  TEST_F(KvDocumentTest, addPair_retry_to_add_pair)
-  {
-    KvDocument document{};
-    KvPair pair{"port", "13088"};
-
-    ASSERT_TRUE(document.addPair(pair));
-    ASSERT_FALSE(document.addPair(pair));
-  }
-
-  TEST_F(KvDocumentTest, clear)
-  {
-    // preparation
-
-    KvDocument document{};
-    KvPair pair{"port", "13088"};
-    document.addPair(pair);
-
-    // check
-
-    document.clear();
-    ASSERT_TRUE(document.getPairs().empty());
-    ASSERT_EQ(0, document.getPairs().size());
-  }
-
-  TEST_F(KvDocumentTest, getPairs)
-  {
-    KvDocument document{};
-    ASSERT_TRUE(document.getPairs().empty());
-  }
-
-  TEST_F(KvDocumentTest, hasPair)
-  {
-    KvDocument document{};
-    document.addPair(KvPair{"port", "80"});
-
-    ASSERT_TRUE(document.hasPair("port"));
-  }
-
-  TEST_F(KvDocumentTest, hasPair_no_pairs_available)
-  {
-    KvDocument document{};
-    ASSERT_FALSE(document.hasPair("port"));
-  }
-
-  TEST_F(KvDocumentTest, removePair)
-  {
-    // preparation
-
-    KvDocument document{};
-    document.addPair(KvPair{"port", "80"});
-    document.addPair(KvPair{"host", "localhost"});
-    document.addPair(KvPair{"protocol", "TCP"});
-
-    // remove pair and check
-
-    ASSERT_TRUE(document.removePair("protocol"));
-    ASSERT_EQ(2, document.getPairs().size());
-    ASSERT_TRUE(document.hasPair("port"));
-    ASSERT_TRUE(document.hasPair("host"));
-  }
-
-  TEST_F(KvDocumentTest, removePair_no_pair_available)
-  {
-    KvDocument document{};
-    ASSERT_FALSE(document.removePair("port"));
-  }
-}

+ 0 - 152
test/cases/io/kv/KvFileReaderTest.cpp

@@ -1,152 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-06
- *
- * */
-
-#include <classes/TestHelper.hpp>
-#include <gtest/gtest.h>
-#include <ls-std/ls-std-core.hpp>
-#include <ls-std/ls-std-io.hpp>
-
-using namespace ls::std::core;
-using namespace ls::std::io;
-using namespace ::std;
-using namespace ls::std::test;
-
-namespace
-{
-  class KvFileReaderTest : public ::testing::Test
-  {
-    protected:
-
-      KvFileReaderTest() = default;
-      ~KvFileReaderTest() override = default;
-
-      void SetUp() override
-      {}
-
-      void TearDown() override
-      {}
-
-      static shared_ptr<KvFileReader> createTestKvFileReader()
-      {
-        string kvPath = TestHelper::getResourcesFolderLocation() + "server-settings.kv";
-        shared_ptr<KvDocument> document = make_shared<KvDocument>();
-
-        return make_shared<KvFileReader>(document, kvPath);
-      }
-  };
-
-  TEST_F(KvFileReaderTest, constructor_no_document_reference)
-  {
-    EXPECT_THROW(
-        {
-          try
-          {
-            string kvPath = TestHelper::getResourcesFolderLocation() + "server-settings.kv";
-            KvFileReader reader = KvFileReader(nullptr, kvPath);
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-
-  TEST_F(KvFileReaderTest, constructor_invalid_file_path)
-  {
-    EXPECT_THROW(
-        {
-          try
-          {
-            KvFileReader reader = KvFileReader(make_shared<KvDocument>(), "invalid-path");
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-
-  TEST_F(KvFileReaderTest, getDocument)
-  {
-    const shared_ptr<KvFileReader> &reader = createTestKvFileReader();
-    ASSERT_TRUE(reader->getDocument() != nullptr);
-  }
-
-  TEST_F(KvFileReaderTest, read)
-  {
-    // preparation
-
-    const shared_ptr<KvFileReader> &reader = createTestKvFileReader();
-
-    // read file and check
-
-    reader->read();
-    const shared_ptr<KvDocument> &document = reader->getDocument();
-
-    ASSERT_EQ(3, document->getPairs().size());
-    ASSERT_TRUE(document->hasPair("port"));
-    ASSERT_TRUE(document->hasPair("host"));
-    ASSERT_TRUE(document->hasPair("service-name"));
-
-    ASSERT_STREQ("8080", document->getPairs().at("port").getValue().c_str());
-    ASSERT_STREQ("localhost", document->getPairs().at("host").getValue().c_str());
-    ASSERT_STREQ("deamon", document->getPairs().at("service-name").getValue().c_str());
-  }
-
-  TEST_F(KvFileReaderTest, setFile_no_existing_file)
-  {
-    const shared_ptr<KvFileReader> &reader = createTestKvFileReader();
-
-    EXPECT_THROW(
-        {
-          try
-          {
-            reader->setFile(File{"invalid-path"});
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-
-  TEST_F(KvFileReaderTest, setDocument)
-  {
-    // preparation
-
-    const shared_ptr<KvFileReader> &reader = createTestKvFileReader();
-
-    // set new document and check
-
-    shared_ptr<KvDocument> newDocument = make_shared<KvDocument>();
-    reader->setDocument(newDocument);
-    ASSERT_TRUE(reader->getDocument() == newDocument);
-  }
-
-  TEST_F(KvFileReaderTest, setDocument_no_reference)
-  {
-    const shared_ptr<KvFileReader> &reader = createTestKvFileReader();
-
-    EXPECT_THROW(
-        {
-          try
-          {
-            reader->setDocument(nullptr);
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-}

+ 0 - 69
test/cases/io/kv/KvPairTest.cpp

@@ -1,69 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-05
- *
- * */
-
-#include <gtest/gtest.h>
-#include <ls-std/ls-std-core.hpp>
-#include <ls-std/ls-std-io.hpp>
-
-using namespace ls::std::core;
-using namespace ls::std::io;
-
-namespace
-{
-  class KvPairTest : public ::testing::Test
-  {
-    protected:
-
-      KvPairTest() = default;
-      ~KvPairTest() override = default;
-
-      void SetUp() override
-      {}
-
-      void TearDown() override
-      {}
-  };
-
-  TEST_F(KvPairTest, constructor_with_empty_key)
-  {
-    EXPECT_THROW(
-        {
-          try
-          {
-            KvPair pair = KvPair("", "1989");
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-
-  TEST_F(KvPairTest, getKey)
-  {
-    KvPair pair{"port", "13088"};
-    ASSERT_STREQ("port", pair.getKey().c_str());
-  }
-
-  TEST_F(KvPairTest, getValue)
-  {
-    KvPair pair{"port", "13088"};
-    ASSERT_STREQ("13088", pair.getValue().c_str());
-  }
-
-  TEST_F(KvPairTest, setValue)
-  {
-    KvPair pair{"port", "13088"};
-    ASSERT_STREQ("13088", pair.getValue().c_str());
-
-    pair.setValue("8080");
-    ASSERT_STREQ("8080", pair.getValue().c_str());
-  }
-}

+ 0 - 59
test/cases/io/kv/KvParseParameterTest.cpp

@@ -1,59 +0,0 @@
-/*
-* Author:          Patrick-Christopher Mattulat
-* Company:         Lynar Studios
-* E-Mail:          webmaster@lynarstudios.com
-* Created:         2023-02-05
-* Changed:         2023-02-05
-*
-* */
-
-#include <gtest/gtest.h>
-#include <ls-std/ls-std-io.hpp>
-#include <string>
-
-using namespace ls::std::io;
-using namespace ::std;
-
-namespace
-{
-  class KvParseParameterTest : public ::testing::Test
-  {
-    protected:
-
-      KvParseParameterTest() = default;
-      ~KvParseParameterTest() override = default;
-
-      void SetUp() override
-      {}
-
-      void TearDown() override
-      {}
-  };
-
-  TEST_F(KvParseParameterTest, getIndex)
-  {
-    ASSERT_EQ(0, KvParseParameter{}.getIndex());
-  }
-
-  TEST_F(KvParseParameterTest, getLine)
-  {
-    ASSERT_TRUE(KvParseParameter{}.getLine().empty());
-  }
-
-  TEST_F(KvParseParameterTest, setIndex)
-  {
-    KvParseParameter parameter{};
-    parameter.setIndex(3);
-
-    ASSERT_EQ(3, parameter.getIndex());
-  }
-
-  TEST_F(KvParseParameterTest, setLine)
-  {
-    KvParseParameter parameter{};
-    string line = "key=value";
-    parameter.setLine(line);
-
-    ASSERT_STREQ(line.c_str(), parameter.getLine().c_str());
-  }
-}

+ 0 - 106
test/cases/io/kv/KvParserTest.cpp

@@ -1,106 +0,0 @@
-/*
- * Author:          Patrick-Christopher Mattulat
- * Company:         Lynar Studios
- * E-Mail:          webmaster@lynarstudios.com
- * Created:         2020-12-25
- * Changed:         2023-02-04
- *
- * */
-
-#include <gtest/gtest.h>
-#include <ls-std/ls-std-core.hpp>
-#include <ls-std/ls-std-io.hpp>
-
-using namespace ls::std::core;
-using namespace ls::std::core::type;
-using namespace ls::std::io;
-using namespace ::std;
-
-namespace
-{
-  class KvParserTest : public ::testing::Test
-  {
-    protected:
-
-      KvParserTest() = default;
-      ~KvParserTest() override = default;
-
-      void SetUp() override
-      {}
-
-      void TearDown() override
-      {}
-  };
-
-  TEST_F(KvParserTest, constructor_no_document_reference)
-  {
-    EXPECT_THROW(
-        {
-          try
-          {
-            KvParser parser{nullptr};
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-
-  TEST_F(KvParserTest, getDocument)
-  {
-    KvParser parser{make_shared<KvDocument>()};
-    ASSERT_TRUE(parser.getDocument() != nullptr);
-  }
-
-  TEST_F(KvParserTest, parse)
-  {
-    shared_ptr<KvDocument> document = make_shared<KvDocument>();
-    KvParser parser{document};
-    byte_field data = "# starting comment\n\nport=8080; # some comment\nhost=localhost;\nservice-name=deamon;";
-    parser.parse(data);
-
-    ASSERT_EQ(3, document->getPairs().size());
-    ASSERT_TRUE(document->hasPair("port"));
-    ASSERT_TRUE(document->hasPair("host"));
-    ASSERT_TRUE(document->hasPair("service-name"));
-
-    ASSERT_STREQ("8080", document->getPairs().at("port").getValue().c_str());
-    ASSERT_STREQ("localhost", document->getPairs().at("host").getValue().c_str());
-    ASSERT_STREQ("deamon", document->getPairs().at("service-name").getValue().c_str());
-  }
-
-  TEST_F(KvParserTest, setDocument)
-  {
-    // preparation
-
-    shared_ptr<KvDocument> document = make_shared<KvDocument>();
-    KvParser parser{document};
-
-    // set and check
-
-    shared_ptr<KvDocument> newDocument = make_shared<KvDocument>();
-    parser.setDocument(newDocument);
-    ASSERT_TRUE(parser.getDocument() == newDocument);
-  }
-
-  TEST_F(KvParserTest, setDocument_no_reference)
-  {
-    shared_ptr<KvDocument> document = make_shared<KvDocument>();
-    KvParser parser{document};
-
-    EXPECT_THROW(
-        {
-          try
-          {
-            parser.setDocument(nullptr);
-          }
-          catch (const IllegalArgumentException &_exception)
-          {
-            throw;
-          }
-        },
-        IllegalArgumentException);
-  }
-}

+ 0 - 5
test/resources/server-settings.kv

@@ -1,5 +0,0 @@
-# This is an example key value file for server settings
-
-port=8080;
-host=localhost;
-service-name=deamon;