// // ImageExtensionGeneratorTests.swift // // // Created by Thibaut Schmitt on 05/09/2022. // import Foundation import XCTest import ToolCore @testable import ResgenSwift final class ImageExtensionGeneratorTests: XCTestCase { func test_uiKit_GeneratedExtensionContent() { // Given let images = [ ParsedImage(name: "image_one", tags: "id", width: 10, height: 10), ParsedImage(name: "image_two", tags: "id", width: 180, height: 90), ] // When let extensionContent = ImageExtensionGenerator.getExtensionContent( images: images, staticVar: false, extensionName: "GenImages", inputFilename: "myInputFilename", isSwiftUI: false, visibility: .public ) // Expect let expect = """ // Generated by ResgenSwift.Images \(ResgenSwiftVersion) // Images from myInputFilename import UIKit extension GenImages { public var image_one: UIImage { UIImage(named: "image_one")! } public var image_two: UIImage { UIImage(named: "image_two")! } } """ XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest()) } func test_uiKit_GeneratedExtensionContentForStaticVar() { // Given let images = [ ParsedImage(name: "image_one", tags: "id", width: 10, height: 10), ParsedImage(name: "image_two", tags: "id", width: 180, height: 90), ] // When let extensionContent = ImageExtensionGenerator.getExtensionContent( images: images, staticVar: true, extensionName: "GenImages", inputFilename: "myInputFilename", isSwiftUI: false, visibility: .internal ) // Expect let expect = """ // Generated by ResgenSwift.Images \(ResgenSwiftVersion) // Images from myInputFilename import UIKit extension GenImages { internal static var image_one: UIImage { UIImage(named: "image_one")! } internal static var image_two: UIImage { UIImage(named: "image_two")! } } """ XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest()) } func test_swiftUI_GeneratedExtensionContent() { // Given let images = [ ParsedImage(name: "image_one", tags: "id", width: 10, height: 10), ParsedImage(name: "image_two", tags: "id", width: 180, height: 90), ] // When let extensionContent = ImageExtensionGenerator.getExtensionContent( images: images, staticVar: false, extensionName: "GenImages", inputFilename: "myInputFilename", isSwiftUI: true, visibility: .public ) // Expect let expect = """ // Generated by ResgenSwift.Images \(ResgenSwiftVersion) // Images from myInputFilename import SwiftUI extension GenImages { public var image_one: Image { Image("image_one") } public var image_two: Image { Image("image_two") } } """ XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest()) } func test_swiftUI_GeneratedExtensionContentForStaticVar() { // Given let images = [ ParsedImage(name: "image_one", tags: "id", width: 10, height: 10), ParsedImage(name: "image_two", tags: "id", width: 180, height: 90), ] // When let extensionContent = ImageExtensionGenerator.getExtensionContent( images: images, staticVar: true, extensionName: "GenImages", inputFilename: "myInputFilename", isSwiftUI: true, visibility: .package ) // Expect let expect = """ // Generated by ResgenSwift.Images \(ResgenSwiftVersion) // Images from myInputFilename import SwiftUI extension GenImages { package static var image_one: Image { Image("image_one") } package static var image_two: Image { Image("image_two") } } """ XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest()) } }