33 lines
978 B
Dart
33 lines
978 B
Dart
import 'dart:typed_data';
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:korken_mosaic/project_codec.dart';
|
|
|
|
void main() {
|
|
test('MosaicProjectData json roundtrip keeps values', () {
|
|
final original = MosaicProjectData(
|
|
useCapSize: true,
|
|
gridWidth: '50',
|
|
gridHeight: '40',
|
|
capSize: '10',
|
|
fidelityStructure: 0.3,
|
|
ditheringStrength: 0.2,
|
|
edgeEmphasis: 0.4,
|
|
colorVariation: 0.5,
|
|
selectedPreset: 'realistisch',
|
|
sourceImageBytes: Uint8List.fromList([1, 2, 3]),
|
|
savedAt: DateTime.parse('2026-01-01T12:00:00Z'),
|
|
);
|
|
|
|
final decoded = MosaicProjectData.fromJson(original.toJson());
|
|
|
|
expect(decoded.useCapSize, isTrue);
|
|
expect(decoded.gridWidth, '50');
|
|
expect(decoded.gridHeight, '40');
|
|
expect(decoded.capSize, '10');
|
|
expect(decoded.selectedPreset, 'realistisch');
|
|
expect(decoded.sourceImageBytes, isNotNull);
|
|
expect(decoded.sourceImageBytes!, [1, 2, 3]);
|
|
});
|
|
}
|