From fa077610dfe8b59eb2af069d2f3e92b4790a21d2 Mon Sep 17 00:00:00 2001 From: Dimitar Trendafilov Date: Tue, 13 Nov 2018 20:24:04 +0200 Subject: Added tests for sprt --- JSImpl/test/sprtTests.cpp | 48 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 JSImpl/test/sprtTests.cpp (limited to 'JSImpl/test/sprtTests.cpp') diff --git a/JSImpl/test/sprtTests.cpp b/JSImpl/test/sprtTests.cpp new file mode 100644 index 0000000..92bd5a6 --- /dev/null +++ b/JSImpl/test/sprtTests.cpp @@ -0,0 +1,48 @@ +#include + +#include +#include + +using Spasm::OpCodes; + +struct SPRTTest : public ::testing::Test +{ + void Run(Spasm::byte bytecode[], size_t size) + { + VM.Initialize(size, bytecode, Input, Output); + ASSERT_EQ(Spasm::Spasm::RunResult::Success, VM.run()); + } + Spasm::Spasm VM; + std::istringstream Input; + std::ostringstream Output; +}; + +TEST_F(SPRTTest, Empty) +{ +} + +TEST_F(SPRTTest, Mutliply) +{ + Spasm::byte bytecode[] = { + OpCodes::Const, 1, 6, + OpCodes::Const, 2, 7, + OpCodes::Mul, 3, 1, 2, + OpCodes::Print, 3, + }; + + Run(bytecode, sizeof(bytecode)); + ASSERT_EQ(Output.str(), "42"); +} + +TEST_F(SPRTTest, Less) +{ + Spasm::byte bytecode[] = { + OpCodes::Const, 1, 6, + OpCodes::Const, 2, 7, + OpCodes::Less, 3, 1, 2, + OpCodes::Print, 3, + }; + + Run(bytecode, sizeof(bytecode)); + ASSERT_EQ(Output.str(), "1"); +} -- cgit v1.3.1-23-gd82d