diff --git a/pubspec.yaml b/pubspec.yaml index 4cc6f88..a63ea9a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,3 +17,4 @@ dev_dependencies: build_test: ^0.10.3+1 build_web_compilers: ^0.4.0 test: ^1.3.0 + mockito: ^3.0.0 diff --git a/test/service/configuration_service_test.dart b/test/service/configuration_service_test.dart new file mode 100644 index 0000000..1afa50a --- /dev/null +++ b/test/service/configuration_service_test.dart @@ -0,0 +1,30 @@ +import 'package:rules_of_living/src/Engine.dart'; +@TestOn('browser') + +import 'package:test/test.dart'; +import 'package:rules_of_living/service/configuration_service.dart'; +import 'package:rules_of_living/service/engine_service.dart'; +import 'package:mockito/mockito.dart'; + +class MockEngine extends Mock implements Engine {} +class MockEngineService extends Mock implements EngineService { + MockEngine _engine = MockEngine(); + @override + Engine get engine => _engine; +} + +void main() { + group("simulation speed", () { + ConfigurationService sut; + MockEngineService mes; + setUp(() { + mes = MockEngineService(); + sut = ConfigurationService(mes); + }); + + test("speed changes propagate to engine", () { + sut.simSpeed = 312; + verify(mes.engine.stepsPerSecond=312); + }); + }); +}