mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-24 05:25:19 +00:00
implemented tests
This commit is contained in:
27
test/resolvers/factory_resolver_test.dart
Normal file
27
test/resolvers/factory_resolver_test.dart
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import 'package:dart_di/resolvers/factory_resolver.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
import 'package:mockito/mockito.dart' as mockito;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
test('Factory resolver resolves with factory', () {
|
||||||
|
const expected = 3;
|
||||||
|
final factoryResolver = new FactoryResolver(() => expected);
|
||||||
|
|
||||||
|
expect(factoryResolver.resolve(), expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Factory creates value only after resolve() call', () {
|
||||||
|
final spy = new SpyMock();
|
||||||
|
final factoryResolver = new FactoryResolver(() => spy.onFactory());
|
||||||
|
|
||||||
|
mockito.verifyNever(spy.onFactory());
|
||||||
|
factoryResolver.resolve();
|
||||||
|
mockito.verify(spy.onFactory());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class Spy {
|
||||||
|
void onFactory();
|
||||||
|
}
|
||||||
|
|
||||||
|
class SpyMock extends mockito.Mock implements Spy {}
|
||||||
36
test/resolvers/singelton_resolver_test.dart
Normal file
36
test/resolvers/singelton_resolver_test.dart
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import 'package:dart_di/resolvers/factory_resolver.dart';
|
||||||
|
import 'package:dart_di/resolvers/singelton_resolver.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
import 'package:mockito/mockito.dart' as mockito;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
test(
|
||||||
|
'Not singleton resolver resolves different values after multiple resolve() calls',
|
||||||
|
() {
|
||||||
|
const callCount = 3;
|
||||||
|
final spy = new SpyMock();
|
||||||
|
final factoryResolver = new FactoryResolver(() => spy..onFactory());
|
||||||
|
|
||||||
|
for (var i = 0; i < callCount; i++) factoryResolver.resolve();
|
||||||
|
|
||||||
|
mockito.verify(spy.onFactory()).called(callCount);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Singleton resolver resolves same value after multiple resolve() calls',
|
||||||
|
() {
|
||||||
|
const callCount = 3;
|
||||||
|
final spy = new SpyMock();
|
||||||
|
final singletonResolver =
|
||||||
|
new SingletonResolver(new FactoryResolver(() => spy..onFactory()));
|
||||||
|
|
||||||
|
for (var i = 0; i < callCount; i++) singletonResolver.resolve();
|
||||||
|
|
||||||
|
mockito.verify(spy.onFactory()).called(1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class Spy {
|
||||||
|
void onFactory();
|
||||||
|
}
|
||||||
|
|
||||||
|
class SpyMock extends mockito.Mock implements Spy {}
|
||||||
11
test/resolvers/value_resolver_test.dart
Normal file
11
test/resolvers/value_resolver_test.dart
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import 'package:dart_di/resolvers/value_resolver.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
test('Value resolver resolves with selected value', () {
|
||||||
|
var a = 3;
|
||||||
|
final valResolver = new ValueResolver(a);
|
||||||
|
|
||||||
|
expect(valResolver.resolve(), a);
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user