diff --git a/src/GraphingImpl/Mocks/Graph.h b/src/GraphingImpl/Mocks/Graph.h index e28f5e7..ae10c35 100644 --- a/src/GraphingImpl/Mocks/Graph.h +++ b/src/GraphingImpl/Mocks/Graph.h @@ -18,6 +18,14 @@ namespace MockGraphingImpl } virtual std::optional>> TryInitialize(const Graphing::IExpression* graphingExp = nullptr) { + if (graphingExp != nullptr) + { + std::vector> equations; + equations.push_back(nullptr); + m_variables.push_back(std::make_shared(MockVariable{})); + return std::optional>>(equations); + } + return std::nullopt; } diff --git a/src/GraphingImpl/Mocks/MathSolver.h b/src/GraphingImpl/Mocks/MathSolver.h index 165959b..7f9a0fc 100644 --- a/src/GraphingImpl/Mocks/MathSolver.h +++ b/src/GraphingImpl/Mocks/MathSolver.h @@ -48,6 +48,43 @@ namespace MockGraphingImpl } }; + class MockExpression : public Graphing::IExpression + { + public: + MockExpression() + { + } + + unsigned int GetExpressionID() const override + { + return 0; + } + bool IsEmptySet() const + { + return false; + } + }; + + class MockVariable : public Graphing::IVariable + { + public: + MockVariable() + { + } + + int GetVariableID() const override + { + return 0; + } + const std::wstring& GetVariableName() override + { + return varName; + } + + private: + const std::wstring& varName = L"m"; + }; + class MathSolver : public Graphing::IMathSolver { public: @@ -72,7 +109,12 @@ namespace MockGraphingImpl std::unique_ptr ParseInput(const std::wstring& input) override { - return nullptr; + if (input.empty()) + { + return nullptr; + } + + return std::make_unique(MockExpression{}); } std::shared_ptr CreateGrapher(const Graphing::IExpression* expression) override;