Commit e574046
Changed files (1)
test
test/model/bood_pressure_test.dart
@@ -2,6 +2,8 @@ import 'package:blood_pressure_app/model/blood_pressure.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
+import '../ram_only_implementations.dart';
+
void main() {
group('BloodPressureRecord', () {
test('should initialize with all values supported by dart', () {
@@ -74,7 +76,7 @@ void main() {
await m.add(r);
var m2 = await BloodPressureModel.create(dbPath: '/tmp/bp_test/should_store_between_sessions');
- var res = (await m.getInTimeRange(DateTime.fromMillisecondsSinceEpoch(0), DateTime.now())).first;
+ var res = (await m2.getInTimeRange(DateTime.fromMillisecondsSinceEpoch(0), DateTime.now())).first;
expect(res.creationTime, r.creationTime);
expect(res.systolic, r.systolic);
@@ -107,4 +109,48 @@ void main() {
});
});
+
+ group("RamBloodPressureModel should behave like BloodPressureModel", () {
+ test('should initialize', () async {
+ expect(() async => RamBloodPressureModel(), returnsNormally);
+ });
+
+ test('should start empty', () async {
+ var m = RamBloodPressureModel();
+ expect((await m.getInTimeRange(DateTime.fromMillisecondsSinceEpoch(0), DateTime.now())).length, 0);
+ });
+
+ test('should notify when adding entries', () async {
+ var m = RamBloodPressureModel();
+
+ int listenerCalls = 0;
+ m.addListener(() {
+ listenerCalls++;
+ });
+
+ await m.add(BloodPressureRecord(DateTime.fromMillisecondsSinceEpoch(0), 0, 0, 0, ''));
+ await m.add(BloodPressureRecord(DateTime.fromMillisecondsSinceEpoch(1), 0, 0, 0, ''));
+ await m.add(BloodPressureRecord(DateTime.fromMillisecondsSinceEpoch(2), 0, 0, 0, ''));
+
+ expect(listenerCalls, 3);
+ });
+
+ test('should return entries as added', () async {
+ var m = RamBloodPressureModel();
+
+ var r = BloodPressureRecord(DateTime.fromMillisecondsSinceEpoch(31415926), -172, 10000, 0, "((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈๏ แผ่นดินฮั่นเABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвг, \n \t д∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა");
+ m.addListener(() async {
+ var res = (await m.getInTimeRange(DateTime.fromMillisecondsSinceEpoch(0), DateTime.now())).first;
+ expect(res, isNotNull);
+ expect(res.creationTime, r.creationTime);
+ expect(res.systolic, r.systolic);
+ expect(res.diastolic, r.diastolic);
+ expect(res.pulse, r.pulse);
+ expect(res.notes, r.notes);
+ return;
+ });
+
+ m.add(r);
+ });
+ });
}
\ No newline at end of file