import 'package:rules_of_living/src/Grid.dart'; import 'package:test/test.dart'; @Tags(const ["nobrowser"]) void main() { Grid sut; group("Instantiation", () { List l; setUp(() { l = [ "Hey", "you", "me", "together", "Hello", "World", "I", "am", "ready." ]; }); test("gets created with the correct length for given quadratic gridsize", () { Grid sut = Grid(3, 3); expect(sut.length, 9); }); test("gets created with the correct length for given rectangular gridsize", () { Grid sut = Grid(87, 85); expect(sut.length, 7395); }); test("copies the content of another grid on .from Constructor call", () { Grid original = Grid(2, 2); original[0] = "Hey"; original[1] = "you"; original[2] = "me"; original[3] = "together"; Grid sut = Grid.from(original); expect(sut, containsAllInOrder(["Hey", "you", "me", "together"])); }); test("copies the length of another grid on .from Constructor call", () { Grid original = Grid(2, 2); original[0] = "Hey"; original[1] = "you"; original[2] = "me"; original[3] = "together"; Grid sut = Grid.from(original); expect(sut.length, 4); }); test("sets the length for list passed in on .fromList Constructor call", () { Grid sut = Grid.fromList(l, 3); expect(sut.length, 9); }); test("sets the contents of list passed in on .fromList Constructor call", () { Grid sut = Grid.fromList(l, 3); expect(sut[3], "together"); }); test( "sets the correct height for list passed in on .fromList Constructor call", () { Grid sut = Grid.fromList(l, 3); expect(sut.width, 3); }); }); group("getter", () { setUp(() { sut = Grid(3, 3); sut.setAll(0, [ "Hey", "you", "me", "together", "Hello", "World", "I", "am", "ready." ]); }); test("Engine can be instantiated without canvas", () { expect(sut, isNot(throwsNoSuchMethodError)); }); }); }