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