mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-11-25 08:50:40 +00:00
a7b8de6912
* removed redundant `UserPreferencesService` from `MeteringBloc` * wip * post-merge fixes * `MeasureEvent` tests * `MeasureEvent` tests revision * `MeasureEvent` tests added timeout * added stubs for other `MeteringBloc` events * rewritten `MeteringBloc` logic * wip * `IsoChangedEvent` tests * refined `IsoChangedEvent` tests * `NdChangedEvent` tests * `FilmChangedEvent` tests * `MeteringCommunicationBloc` tests * added test run to ci * overriden `==` for `MeasuredState` * `LuxMeteringEvent` tests * refined `LuxMeteringEvent` tests * rename * wip * wip * `InitializeEvent`/`DeinitializeEvent` tests * clamp minZoomLevel * fixed `MeteringCommunicationBloc` tests * wip * `ZoomChangedEvent` tests * `ExposureOffsetChangedEvent`/`ExposureOffsetResetEvent` tests * renamed test groups * added test coverage script * improved `CameraContainerBloc` test coverage * `EquipmentProfileChangedEvent` tests * verify response vibration * fixed running all tests * `MeteringCommunicationBloc` equality tests * `CameraContainerBloc` equality tests * removed generated code from coverage * `MeteringScreenLayoutFeature` tests * `SupportedLocale` tests * `Film` tests
121 lines
4.9 KiB
Dart
121 lines
4.9 KiB
Dart
import 'package:lightmeter/data/models/film.dart';
|
|
import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
void main() {
|
|
test('iso', () {
|
|
expect(const Film.other().iso, 0);
|
|
expect(const FomapanFilm.creative100().iso, 100);
|
|
expect(const FomapanFilm.creative200().iso, 200);
|
|
expect(const FomapanFilm.action400().iso, 400);
|
|
expect(const IlfordFilm.ortho().iso, 80);
|
|
expect(const IlfordFilm.delta100().iso, 100);
|
|
expect(const IlfordFilm.delta400().iso, 400);
|
|
expect(const IlfordFilm.delta3200().iso, 3200);
|
|
expect(const IlfordFilm.fp4().iso, 125);
|
|
expect(const IlfordFilm.hp5().iso, 400);
|
|
expect(const IlfordFilm.panf().iso, 50);
|
|
expect(const IlfordFilm.sfx200().iso, 200);
|
|
expect(const IlfordFilm.xp2super().iso, 400);
|
|
expect(const IlfordFilm.pan100().iso, 100);
|
|
expect(const IlfordFilm.pan400().iso, 400);
|
|
expect(const KodakFilm.tmax100().iso, 100);
|
|
expect(const KodakFilm.tmax400().iso, 400);
|
|
expect(const KodakFilm.tmax3200().iso, 3200);
|
|
expect(const KodakFilm.trix320().iso, 320);
|
|
expect(const KodakFilm.trix400().iso, 400);
|
|
});
|
|
|
|
test('toString()', () {
|
|
expect(const Film.other().toString(), "");
|
|
expect(const FomapanFilm.creative100().toString(), "Fomapan CREATIVE 100");
|
|
expect(const FomapanFilm.creative200().toString(), "Fomapan CREATIVE 200");
|
|
expect(const FomapanFilm.action400().toString(), "Fomapan ACTION 400");
|
|
expect(const IlfordFilm.ortho().toString(), "Ilford ORTHO+");
|
|
expect(const IlfordFilm.delta100().toString(), "Ilford DELTA 100");
|
|
expect(const IlfordFilm.delta400().toString(), "Ilford DELTA 400");
|
|
expect(const IlfordFilm.delta3200().toString(), "Ilford DELTA 3200");
|
|
expect(const IlfordFilm.fp4().toString(), "Ilford FP4+");
|
|
expect(const IlfordFilm.hp5().toString(), "Ilford HP5+");
|
|
expect(const IlfordFilm.panf().toString(), "Ilford Pan F+");
|
|
expect(const IlfordFilm.sfx200().toString(), "Ilford SFX 200");
|
|
expect(const IlfordFilm.xp2super().toString(), "Ilford XP2 SUPER");
|
|
expect(const IlfordFilm.pan100().toString(), "Kentemere 100");
|
|
expect(const IlfordFilm.pan400().toString(), "Kentemere 400");
|
|
expect(const KodakFilm.tmax100().toString(), "Kodak T-MAX 100");
|
|
expect(const KodakFilm.tmax400().toString(), "Kodak T-MAX 400");
|
|
expect(const KodakFilm.tmax3200().toString(), "Kodak T-MAX 3200");
|
|
expect(const KodakFilm.trix320().toString(), "Kodak TRI-X 320");
|
|
expect(const KodakFilm.trix400().toString(), "Kodak TRI-X 400");
|
|
});
|
|
|
|
group(
|
|
'reciprocityFailure',
|
|
() {
|
|
const inputSpeeds = [
|
|
ShutterSpeedValue(1000, true, StopType.full),
|
|
ShutterSpeedValue(1, false, StopType.full),
|
|
ShutterSpeedValue(16, false, StopType.full)
|
|
];
|
|
test('No change `Film.other()`', () {
|
|
expect(
|
|
const Film.other().reciprocityFailure(inputSpeeds[0]),
|
|
const ShutterSpeedValue(1000, true, StopType.full),
|
|
);
|
|
expect(
|
|
const Film.other().reciprocityFailure(inputSpeeds[1]),
|
|
const ShutterSpeedValue(1, false, StopType.full),
|
|
);
|
|
expect(
|
|
const Film.other().reciprocityFailure(inputSpeeds[2]),
|
|
const ShutterSpeedValue(16, false, StopType.full),
|
|
);
|
|
});
|
|
|
|
test('pow `IlfordFilm.delta100()`', () {
|
|
expect(
|
|
const IlfordFilm.delta100().reciprocityFailure(inputSpeeds[0]),
|
|
const ShutterSpeedValue(1000, true, StopType.full),
|
|
);
|
|
expect(
|
|
const IlfordFilm.delta100().reciprocityFailure(inputSpeeds[1]),
|
|
const ShutterSpeedValue(1, false, StopType.full),
|
|
);
|
|
expect(
|
|
const IlfordFilm.delta100().reciprocityFailure(inputSpeeds[2]),
|
|
const ShutterSpeedValue(32.899642452994128, false, StopType.full),
|
|
);
|
|
});
|
|
|
|
test('log10polynomian `FomapanFilm.creative100()`', () {
|
|
expect(
|
|
const FomapanFilm.creative100().reciprocityFailure(inputSpeeds[0]),
|
|
const ShutterSpeedValue(1000, true, StopType.full),
|
|
);
|
|
expect(
|
|
const FomapanFilm.creative100().reciprocityFailure(inputSpeeds[1]),
|
|
const ShutterSpeedValue(2, false, StopType.full),
|
|
);
|
|
expect(
|
|
const FomapanFilm.creative100().reciprocityFailure(inputSpeeds[2]),
|
|
const ShutterSpeedValue(151.52807753457483, false, StopType.full),
|
|
);
|
|
});
|
|
|
|
test('log10polynomian `Kodak.tmax400()`', () {
|
|
expect(
|
|
const KodakFilm.tmax400().reciprocityFailure(inputSpeeds[0]),
|
|
const ShutterSpeedValue(1000, true, StopType.full),
|
|
);
|
|
expect(
|
|
const KodakFilm.tmax400().reciprocityFailure(inputSpeeds[1]),
|
|
const ShutterSpeedValue(1.3333333333333333, false, StopType.full),
|
|
);
|
|
expect(
|
|
const KodakFilm.tmax400().reciprocityFailure(inputSpeeds[2]),
|
|
const ShutterSpeedValue(27.166026086819844, false, StopType.full),
|
|
);
|
|
});
|
|
},
|
|
);
|
|
}
|