 CodableTests.test("test_Calendar_Plist") { TestCodable().test_Calendar_Plist() }
 CodableTests.test("test_CharacterSet_JSON") { TestCodable().test_CharacterSet_JSON() }
 CodableTests.test("test_CharacterSet_Plist") { TestCodable().test_CharacterSet_Plist() }
+CodableTests.test("test_CGAffineTransform_JSON") { TestCodable().test_CGAffineTransform_JSON() }
+CodableTests.test("test_CGAffineTransform_Plist") { TestCodable().test_CGAffineTransform_Plist() }
+CodableTests.test("test_CGPoint_JSON") { TestCodable().test_CGPoint_JSON() }
+CodableTests.test("test_CGPoint_Plist") { TestCodable().test_CGPoint_Plist() }
+CodableTests.test("test_CGSize_JSON") { TestCodable().test_CGSize_JSON() }
+CodableTests.test("test_CGSize_Plist") { TestCodable().test_CGSize_Plist() }
+CodableTests.test("test_CGRect_JSON") { TestCodable().test_CGRect_JSON() }
+CodableTests.test("test_CGRect_Plist") { TestCodable().test_CGRect_Plist() }
+CodableTests.test("test_CGVector_JSON") { TestCodable().test_CGVector_JSON() }
+CodableTests.test("test_CGVector_Plist") { TestCodable().test_CGVector_Plist() }
 CodableTests.test("test_DateComponents_JSON") { TestCodable().test_DateComponents_JSON() }
 CodableTests.test("test_DateComponents_Plist") { TestCodable().test_DateComponents_Plist() }
 

}

func expectRoundTripEqualityThroughJSON<T : Codable>(for value: T) where T : Equatable {
    let encode = { (_ value: T) throws -> Data in
        return try JSONEncoder().encode(value)
    }

    let decode = { (_ data: Data) throws -> T in
        return try JSONDecoder().decode(T.self, from: data)
    }

    expectRoundTripEquality(of: value, encode: encode, decode: decode)

// REQUIRES: objc_interop

import Foundation
import CoreGraphics

#if FOUNDATION_XCTEST
import XCTest
