Also, Apples Dokumentation sagt, dass CIImage
Equatable
entspricht. Ich würde damit meinen, dass der folgende Komponententest bestanden wird. Allerdings nicht. Ich bin daran interessiert, warum.Sollte CIII gleich sein?
func test_CIImageEqualityShouldWork() {
let bundle = NSBundle(forClass: PrototypeTests.self)
guard let path = bundle.pathForResource("testImage", ofType: "png") else { return }
guard let image = UIImage(contentsOfFile: path) else { return }
let thingy1 = CIImage(image: image)
let thingy2 = CIImage(image: image)
XCTAssert(thingy1 == thingy2)
}
Das Bild existiert, die guard
Aussagen sowohl passieren, aber die Assertion fehlschlägt, sie sind nicht gleich.
Aus Interesse habe ich versucht, die UIImage
zweimal zu erstellen und diese auch zu vergleichen. Das scheitert auch.
Hmm, interessant. Also habe ich auch versucht, sie in ein 'UIImage' zu konvertieren, dann diese in' NSData' umzuwandeln und das zu vergleichen - immer noch fehlgeschlagen, sogar mit identischen Bildern aus dem Bundle. Sollte das funktionieren? – Luke
@lukech: Sie konvertieren PNG-Datei -> UIImage -> CIllmage -> UIImage -> PNG-Daten. Ich würde nicht erwarten, dass die Daten identisch sind. –
würde ich. Vielleicht ist das aber naiv. Wie auch immer, das scheint die richtige Antwort auf meine Frage zu sein, so sehr verpflichtet, danke :) – Luke