// Copyright Sebastian Jeckel 2014.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#pragma once
#include "gtest/gtest.h"
#include
#include
#include "react/Domain.h"
#include "react/Signal.h"
///////////////////////////////////////////////////////////////////////////////////////////////////
namespace {
using namespace react;
///////////////////////////////////////////////////////////////////////////////////////////////////
/// SignalTest fixture
///////////////////////////////////////////////////////////////////////////////////////////////////
template
class SignalTest : public testing::Test
{
public:
template
class MyEngine : public TParams::template EngineT {};
REACTIVE_DOMAIN(MyDomain, TParams::mode, MyEngine)
};
TYPED_TEST_CASE_P(SignalTest);
///////////////////////////////////////////////////////////////////////////////////////////////////
/// MakeVars test
///////////////////////////////////////////////////////////////////////////////////////////////////
TYPED_TEST_P(SignalTest, MakeVars)
{
using D = typename MakeVars::MyDomain;
auto v1 = MakeVar(1);
auto v2 = MakeVar(2);
auto v3 = MakeVar(3);
auto v4 = MakeVar(4);
ASSERT_EQ(v1(),1);
ASSERT_EQ(v2(),2);
ASSERT_EQ(v3(),3);
ASSERT_EQ(v4(),4);
v1