initial commit with cache support & example

This commit is contained in:
Kingkor Roy Tirtho
2022-02-07 00:11:15 +06:00
commit c7169b04c7
65 changed files with 7155 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
import 'dart:collection';
import 'package:test/test.dart';
import 'package:fl_query/src/utilities/helpers.dart';
void main() {
group('deeplyMergeLeft', () {
test('shallow', () {
expect(
deeplyMergeLeft([
{'keyA': 'a1'},
{'keyA': 'a2', 'keyB': 'b2'},
{'keyB': 'b3'}
]),
equals({'keyA': 'a2', 'keyB': 'b3'}),
);
});
test('deep', () {
expect(
deeplyMergeLeft([
<String, dynamic>{
'keyA': 'a1',
'keyB': {
'keyC': {'keyD': 'd1'}
}
},
<String, dynamic>{
'keyA': 'a2',
'keyB': {
'keyC': {'keyD': 'd2'}
}
},
]),
equals({
'keyA': 'a2',
'keyB': {
'keyC': {'keyD': 'd2'}
}
}),
);
});
test('deep hashmaps are merged', () {
expect(
deeplyMergeLeft([
HashMap<String, dynamic>.from({
'keyA': 'a1',
'keyB': {
'keyC': HashMap.from({'keyD': 'd1'})
}
}),
{
'keyA': 'a2',
'keyB': {
'keyC': HashMap.from({'keyD': 'd2'})
}
},
]),
equals({
'keyA': 'a2',
'keyB': {
'keyC': {'keyD': 'd2'}
}
}),
);
});
});
}