Allow Optional Injection of grid size into engine on creation
This commit is contained in:
parent
9886f13d69
commit
873bd9c881
3 changed files with 24 additions and 21 deletions
|
@ -46,8 +46,8 @@ class Engine {
|
|||
Grid _grid;
|
||||
bool running = false;
|
||||
|
||||
Engine([this.canvas]) {
|
||||
_grid = Grid(gridSize.x, gridSize.y);
|
||||
Engine([x = 100, y = 100, this.canvas]) {
|
||||
_grid = Grid(x, y);
|
||||
|
||||
_elapsed.start();
|
||||
_grid.addPattern(amount: 15, dispersal: 5);
|
||||
|
@ -115,7 +115,7 @@ class Engine {
|
|||
/// the internal engine processing. Does not do anything if no canvas is
|
||||
/// defined.
|
||||
void render([num interp]) {
|
||||
if(canvas != null) _grid.render(canvas, interp);
|
||||
if (canvas != null) _grid.render(canvas, interp);
|
||||
}
|
||||
|
||||
void addPattern(
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import 'package:mockito/mockito.dart';
|
||||
import 'package:rules_of_living/service/engine_service.dart';
|
||||
import 'package:rules_of_living/src/Engine.dart';
|
||||
@TestOn('browser')
|
||||
import 'package:test/test.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
import 'package:rules_of_living/src/Engine.dart';
|
||||
import 'package:rules_of_living/service/engine_service.dart';
|
||||
|
||||
class MockEngine extends Mock implements Engine {}
|
||||
|
||||
|
|
|
@ -10,23 +10,26 @@ void main() {
|
|||
setUp(() {
|
||||
sut = Engine();
|
||||
});
|
||||
group("canvas", () {
|
||||
test("Engine can be instantiated without canvas", () {
|
||||
expect(sut, isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("Engine can be instantiated without canvas", () {
|
||||
expect(sut, isNot(throwsNoSuchMethodError));
|
||||
test("Engine does not throw errors when calling render directly", () {
|
||||
// anonymous function necessary since throws can not use functions with args
|
||||
expect(() => sut.render, isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("Engine does not throw errors when processing without attached canvas",
|
||||
() {
|
||||
// anonymous function necessary since throws can not use functions with args
|
||||
expect(() => sut.process, isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("setCanvas allows setting a canvas for an engine at any point", () {
|
||||
sut.canvas = new html.CanvasElement();
|
||||
expect(sut.canvas, isNotNull);
|
||||
});
|
||||
});
|
||||
|
||||
test("Engine does not throw errors when calling render directly", () {
|
||||
// anonymous function necessary since throws can not use functions with args
|
||||
expect(() => sut.render, isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("Engine does not throw errors when processing without attached canvas", () {
|
||||
// anonymous function necessary since throws can not use functions with args
|
||||
expect(() => sut.process, isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("setCanvas allows setting a canvas for an engine at any point", () {
|
||||
sut.canvas = new html.CanvasElement();
|
||||
expect(sut.canvas, isNotNull);
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue