m3_lightmeter/test/data/models/camera_features_config_test.dart

51 lines
1.1 KiB
Dart
Raw Normal View History

import 'package:lightmeter/data/models/camera_feature.dart';
import 'package:test/test.dart';
void main() {
group(
'fromJson()',
() {
test('All keys', () {
expect(
CameraFeaturesConfigJson.fromJson(
{
'spotMetering': true,
'histogram': true,
2025-05-11 17:01:03 +00:00
'showFocalLength': true,
},
),
{
CameraFeature.spotMetering: true,
CameraFeature.histogram: true,
2025-05-11 17:01:03 +00:00
CameraFeature.showFocalLength: true,
},
);
});
test('Legacy (no spotMetering & histogram)', () {
expect(
CameraFeaturesConfigJson.fromJson({}),
{
CameraFeature.spotMetering: false,
CameraFeature.histogram: false,
2025-05-11 17:01:03 +00:00
CameraFeature.showFocalLength: false,
},
);
});
},
);
test('toJson()', () {
expect(
{
CameraFeature.spotMetering: true,
CameraFeature.histogram: true,
}.toJson(),
{
'spotMetering': true,
'histogram': true,
},
);
});
}