blob: 7f74fadc6fb4d671fddab339bf61c7a9695a7903 [file] [log] [blame]
/*
* Copyright 2014 Google Inc. All rights reserved.
*
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file or at
* https://developers.google.com/open-source/licenses/bsd
*/
part of charted.test.core;
class MockObject { }
class MockCreateFailObject {
factory MockCreateFailObject() => null;
}
testObjectFactory() {
ObjectFactory factory = new ObjectFactory();
factory.register("mock", () => new MockObject());
factory.register("mockfail", () => new MockCreateFailObject());
group('ObjectFactory.create()', () {
test('creates an object of a registered factory', () {
expect(factory.create("mock"), new isInstanceOf<MockObject>());
});
test('throwsArgumentError if a factory returns null', () {
expect(() => factory.create("mockfail"), throwsArgumentError);
});
test('throwsArgumentError when a factory is not registered', () {
expect(() => factory.create("notregistered"), throwsArgumentError);
});
});
}