2023-11-11 20:05:11 +00:00
|
|
|
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,
|
2023-11-11 20:05:11 +00:00
|
|
|
},
|
|
|
|
),
|
|
|
|
{
|
|
|
|
CameraFeature.spotMetering: true,
|
|
|
|
CameraFeature.histogram: true,
|
2025-05-11 17:01:03 +00:00
|
|
|
CameraFeature.showFocalLength: true,
|
2023-11-11 20:05:11 +00:00
|
|
|
},
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
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,
|
2023-11-11 20:05:11 +00:00
|
|
|
},
|
|
|
|
);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
);
|
|
|
|
|
|
|
|
test('toJson()', () {
|
|
|
|
expect(
|
|
|
|
{
|
|
|
|
CameraFeature.spotMetering: true,
|
|
|
|
CameraFeature.histogram: true,
|
|
|
|
}.toJson(),
|
|
|
|
{
|
|
|
|
'spotMetering': true,
|
|
|
|
'histogram': true,
|
|
|
|
},
|
|
|
|
);
|
|
|
|
});
|
|
|
|
}
|