File tree Expand file tree Collapse file tree 5 files changed +31
-0
lines changed Expand file tree Collapse file tree 5 files changed +31
-0
lines changed Original file line number Diff line number Diff line change 1010namespace libscratchcpp
1111{
1212
13+ class IEngine ;
1314class Variable ;
1415class List ;
1516class Block ;
@@ -67,6 +68,9 @@ class LIBSCRATCHCPP_EXPORT Target
6768 int volume () const ;
6869 void setVolume (int newVolume);
6970
71+ IEngine *engine () const ;
72+ void setEngine (IEngine *engine);
73+
7074 private:
7175 spimpl::unique_impl_ptr<TargetPrivate> impl;
7276};
Original file line number Diff line number Diff line change @@ -289,3 +289,15 @@ void Target::setVolume(int newVolume)
289289{
290290 impl->volume = newVolume;
291291}
292+
293+ /* ! Returns the engine. */
294+ IEngine *Target::engine () const
295+ {
296+ return impl->engine ;
297+ }
298+
299+ /* ! Sets the engine. */
300+ void Target::setEngine (IEngine *engine)
301+ {
302+ impl->engine = engine;
303+ }
Original file line number Diff line number Diff line change 1111namespace libscratchcpp
1212{
1313
14+ class IEngine ;
1415class Variable ;
1516class List ;
1617class Block ;
@@ -20,6 +21,7 @@ struct TargetPrivate
2021 TargetPrivate ();
2122 TargetPrivate (const TargetPrivate &) = delete ;
2223
24+ IEngine *engine = nullptr ;
2325 std::string name;
2426 std::vector<std::shared_ptr<Variable>> variables;
2527 std::vector<std::shared_ptr<List>> lists;
Original file line number Diff line number Diff line change @@ -63,7 +63,9 @@ add_executable(
6363target_link_libraries (
6464 target_test
6565 GTest::gtest_main
66+ GTest::gmock_main
6667 scratchcpp
68+ scratchcpp_mocks
6769)
6870
6971gtest_discover_tests(target_test)
Original file line number Diff line number Diff line change 44#include < scratchcpp/block.h>
55#include < scratchcpp/costume.h>
66#include < scratchcpp/sound.h>
7+ #include < enginemock.h>
78
89#include " ../common.h"
910
@@ -194,3 +195,13 @@ TEST(TargetTest, Volume)
194195 target.setVolume (50 );
195196 ASSERT_EQ (target.volume (), 50 );
196197}
198+
199+ TEST (TargetTest, Engine)
200+ {
201+ Target target;
202+ ASSERT_EQ (target.engine (), nullptr );
203+
204+ EngineMock engine;
205+ target.setEngine (&engine);
206+ ASSERT_EQ (target.engine (), &engine);
207+ }
You can’t perform that action at this time.
0 commit comments