BareGit
#include <gtest/gtest.h>

#include "memory.hpp"

TEST(InMemoryMemoryTest, AddAndGetHistory)
{
    InMemoryMemory memory;
    memory.addMessage(SystemMessage{"sys"});
    memory.addMessage(UserMessage{"user"});

    auto history = memory.getHistory();
    ASSERT_EQ(history.size(), 2);
    EXPECT_TRUE(std::holds_alternative<SystemMessage>(history[0]));
    EXPECT_TRUE(std::holds_alternative<UserMessage>(history[1]));
}

TEST(InMemoryMemoryTest, ClearHistory)
{
    InMemoryMemory memory;
    memory.addMessage(UserMessage{"hi"});
    memory.clear();
    EXPECT_TRUE(memory.getHistory().empty());
}