35def expect_selfie(actual: Any, camera: Any = None) -> DiskSelfie:
36 disk_storage = _selfieSystem().disk_thread_local()
37 if camera is not None:
38 if isinstance(camera, Camera):
39 actual_snapshot = camera.snapshot(actual)
40 else:
41 actual_snapshot = camera(actual)
42 return StringSelfie(actual_snapshot, disk_storage)
43 elif isinstance(actual, str):
44 return StringSelfie(Snapshot.of(actual), disk_storage)
45 elif isinstance(actual, Snapshot):
46 return StringSelfie(actual, disk_storage)
47 elif isinstance(actual, bytes):
48 return BinarySelfie(Snapshot.of(actual), disk_storage, "")
49 else:
50 return ReprSelfie(actual, Snapshot.of(repr(actual)), disk_storage)