From d364db67cd4062648d8d0502c12f66f0b3baeeda Mon Sep 17 00:00:00 2001 From: Greg Bolsinga Date: Mon, 10 Jun 2019 11:13:37 -0700 Subject: [PATCH 1/3] Add equality tests for ObjC These tests would have failed with the merge conflict I had in my other PR. --- .../Objective_CTests/ObjcEqualityTests.swift | 464 ++++++++++++++++++ 1 file changed, 464 insertions(+) create mode 100644 Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift diff --git a/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift b/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift new file mode 100644 index 00000000..39c636d7 --- /dev/null +++ b/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift @@ -0,0 +1,464 @@ +// +// ObjcEqualityTests.swift +// CoreTests +// +// Created by Greg Bolsinga on 6/10/19. +// + +import XCTest + +@testable import Objective_C + +class ObjcEqualityTests: XCTestCase { +// func testEquality_arrayProp () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.arrayProp = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.arrayProp, t) +// XCTAssertEqual(e2.arrayProp, t) +// XCTAssertEqual(e1, e2) +// XCTAssertEqual(e1.hash,e2.hash) +// } + + func testEquality_booleanProp() { + let t = true + let builder = EverythingBuilder() + builder.booleanProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.booleanProp, t) + XCTAssertEqual(e2.booleanProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_charEnum() { + let t = EverythingCharEnum.charCase1 + let builder = EverythingBuilder() + builder.charEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.charEnum, t) + XCTAssertEqual(e2.charEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_dateProp() { + let t = NSDate.distantFuture + let builder = EverythingBuilder() + builder.dateProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.dateProp, t) + XCTAssertEqual(e2.dateProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_intEnum() { + let t = EverythingIntEnum.intCase1 + let builder = EverythingBuilder() + builder.intEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.intEnum, t) + XCTAssertEqual(e2.intEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_intProp() { + let t = 23 + let builder = EverythingBuilder() + builder.intProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.intProp, t) + XCTAssertEqual(e2.intProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + +// func testEquality_listPolymorphicValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.listPolymorphicValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.listPolymorphicValues, t) +// XCTAssertEqual(e2.listPolymorphicValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_listWithListAndOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.listWithListAndOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.listWithListAndOtherModelValues, t) +// XCTAssertEqual(e2.listWithListAndOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_listWithMapAndOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.listWithMapAndOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.listWithMapAndOtherModelValues, t) +// XCTAssertEqual(e2.listWithMapAndOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_listWithObjectValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.listWithObjectValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.listWithObjectValues, t) +// XCTAssertEqual(e2.listWithObjectValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_listWithOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.listWithOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.listWithOtherModelValues, t) +// XCTAssertEqual(e2.listWithOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_listWithPrimitiveValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.listWithPrimitiveValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.listWithPrimitiveValues, t) +// XCTAssertEqual(e2.listWithPrimitiveValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapPolymorphicValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapPolymorphicValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapPolymorphicValues, t) +// XCTAssertEqual(e2.mapPolymorphicValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapProp () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapProp = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapProp, t) +// XCTAssertEqual(e2.mapProp, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapWithListAndOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapWithListAndOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapWithListAndOtherModelValues, t) +// XCTAssertEqual(e2.mapWithListAndOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapWithMapAndOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapWithMapAndOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapWithMapAndOtherModelValues, t) +// XCTAssertEqual(e2.mapWithMapAndOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapWithObjectValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapWithObjectValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapWithObjectValues, t) +// XCTAssertEqual(e2.mapWithObjectValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapWithOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapWithOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapWithOtherModelValues, t) +// XCTAssertEqual(e2.mapWithOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_mapWithPrimitiveValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.mapWithPrimitiveValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.mapWithPrimitiveValues, t) +// XCTAssertEqual(e2.mapWithPrimitiveValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } + + func testEquality_nsintegerEnum() { + let t = EverythingNsintegerEnum.nsintegerCase1 + let builder = EverythingBuilder() + builder.nsintegerEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.nsintegerEnum, t) + XCTAssertEqual(e2.nsintegerEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_nsuintegerEnum() { + let t = EverythingNsuintegerEnum.nsuintegerCase2 + let builder = EverythingBuilder() + builder.nsuintegerEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.nsuintegerEnum, t) + XCTAssertEqual(e2.nsuintegerEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_numberProp() { + let t = 2.3 + let builder = EverythingBuilder() + builder.numberProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.numberProp, t) + XCTAssertEqual(e2.numberProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + +// func testEquality_otherModelProp () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.otherModelProp = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.otherModelProp, t) +// XCTAssertEqual(e2.otherModelProp, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_polymorphicProp () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.polymorphicProp = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.polymorphicProp, t) +// XCTAssertEqual(e2.polymorphicProp, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_setProp () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.setProp = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.setProp, t) +// XCTAssertEqual(e2.setProp, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_setPropWithOtherModelValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.setPropWithOtherModelValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.setPropWithOtherModelValues, t) +// XCTAssertEqual(e2.setPropWithOtherModelValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_setPropWithPrimitiveValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.setPropWithPrimitiveValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.setPropWithPrimitiveValues, t) +// XCTAssertEqual(e2.setPropWithPrimitiveValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } +// +// func testEquality_setPropWithValues () +// { +// let t = 0 +// let builder = EverythingBuilder() +// builder.setPropWithValues = t +// let e1 = builder.build() +// let e2 = builder.build() +// XCTAssertEqual(e1.setPropWithValues, t) +// XCTAssertEqual(e2.setPropWithValues, t) +// XCTAssertEqual(e1, e2) + // XCTAssertEqual(e1.hash,e2.hash) +// } + + func testEquality_shortEnum() { + let t = EverythingShortEnum.shortCase1 + let builder = EverythingBuilder() + builder.shortEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.shortEnum, t) + XCTAssertEqual(e2.shortEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_stringEnum() { + let t = EverythingStringEnum.case1 + let builder = EverythingBuilder() + builder.stringEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.stringEnum, t) + XCTAssertEqual(e2.stringEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_stringProp() { + let t = "test" + let builder = EverythingBuilder() + builder.stringProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.stringProp, t) + XCTAssertEqual(e2.stringProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_type() { + let t = "type" + let builder = EverythingBuilder() + builder.type = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.type, t) + XCTAssertEqual(e2.type, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_unsignedCharEnum() { + let t = EverythingUnsignedCharEnum.unsignedCharCase2 + let builder = EverythingBuilder() + builder.unsignedCharEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.unsignedCharEnum, t) + XCTAssertEqual(e2.unsignedCharEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_unsignedIntEnum() { + let t = EverythingUnsignedIntEnum.unsignedIntCase2 + let builder = EverythingBuilder() + builder.unsignedIntEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.unsignedIntEnum, t) + XCTAssertEqual(e2.unsignedIntEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_unsignedShortEnum() { + let t = EverythingUnsignedShortEnum.charCase2 + let builder = EverythingBuilder() + builder.unsignedShortEnum = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.unsignedShortEnum, t) + XCTAssertEqual(e2.unsignedShortEnum, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_uriProp() { + let t = URL(string: "http://example.com") + let builder = EverythingBuilder() + builder.uriProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.uriProp, t) + XCTAssertEqual(e2.uriProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } +} From 4d303d38372059f10e3037140776f10bbd6f4c8a Mon Sep 17 00:00:00 2001 From: Greg Bolsinga Date: Mon, 10 Jun 2019 12:00:41 -0700 Subject: [PATCH 2/3] format the commented out tests properly --- .../Objective_CTests/ObjcEqualityTests.swift | 95 ++++++++----------- 1 file changed, 38 insertions(+), 57 deletions(-) diff --git a/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift b/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift index 39c636d7..6f15e8ac 100644 --- a/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift +++ b/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift @@ -83,8 +83,7 @@ class ObjcEqualityTests: XCTestCase { XCTAssertEqual(e1.hash, e2.hash) } -// func testEquality_listPolymorphicValues () -// { +// func testEquality_listPolymorphicValues() { // let t = 0 // let builder = EverythingBuilder() // builder.listPolymorphicValues = t @@ -93,11 +92,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.listPolymorphicValues, t) // XCTAssertEqual(e2.listPolymorphicValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_listWithListAndOtherModelValues () -// { +// func testEquality_listWithListAndOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.listWithListAndOtherModelValues = t @@ -106,11 +104,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.listWithListAndOtherModelValues, t) // XCTAssertEqual(e2.listWithListAndOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_listWithMapAndOtherModelValues () -// { +// func testEquality_listWithMapAndOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.listWithMapAndOtherModelValues = t @@ -119,11 +116,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.listWithMapAndOtherModelValues, t) // XCTAssertEqual(e2.listWithMapAndOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_listWithObjectValues () -// { +// func testEquality_listWithObjectValues() { // let t = 0 // let builder = EverythingBuilder() // builder.listWithObjectValues = t @@ -132,11 +128,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.listWithObjectValues, t) // XCTAssertEqual(e2.listWithObjectValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_listWithOtherModelValues () -// { +// func testEquality_listWithOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.listWithOtherModelValues = t @@ -145,11 +140,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.listWithOtherModelValues, t) // XCTAssertEqual(e2.listWithOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_listWithPrimitiveValues () -// { +// func testEquality_listWithPrimitiveValues() { // let t = 0 // let builder = EverythingBuilder() // builder.listWithPrimitiveValues = t @@ -158,11 +152,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.listWithPrimitiveValues, t) // XCTAssertEqual(e2.listWithPrimitiveValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapPolymorphicValues () -// { +// func testEquality_mapPolymorphicValues() { // let t = 0 // let builder = EverythingBuilder() // builder.mapPolymorphicValues = t @@ -171,11 +164,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapPolymorphicValues, t) // XCTAssertEqual(e2.mapPolymorphicValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapProp () -// { +// func testEquality_mapProp() { // let t = 0 // let builder = EverythingBuilder() // builder.mapProp = t @@ -184,11 +176,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapProp, t) // XCTAssertEqual(e2.mapProp, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapWithListAndOtherModelValues () -// { +// func testEquality_mapWithListAndOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.mapWithListAndOtherModelValues = t @@ -197,11 +188,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapWithListAndOtherModelValues, t) // XCTAssertEqual(e2.mapWithListAndOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapWithMapAndOtherModelValues () -// { +// func testEquality_mapWithMapAndOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.mapWithMapAndOtherModelValues = t @@ -210,11 +200,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapWithMapAndOtherModelValues, t) // XCTAssertEqual(e2.mapWithMapAndOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapWithObjectValues () -// { +// func testEquality_mapWithObjectValues() { // let t = 0 // let builder = EverythingBuilder() // builder.mapWithObjectValues = t @@ -223,11 +212,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapWithObjectValues, t) // XCTAssertEqual(e2.mapWithObjectValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapWithOtherModelValues () -// { +// func testEquality_mapWithOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.mapWithOtherModelValues = t @@ -236,11 +224,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapWithOtherModelValues, t) // XCTAssertEqual(e2.mapWithOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_mapWithPrimitiveValues () -// { +// func testEquality_mapWithPrimitiveValues() { // let t = 0 // let builder = EverythingBuilder() // builder.mapWithPrimitiveValues = t @@ -249,7 +236,7 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.mapWithPrimitiveValues, t) // XCTAssertEqual(e2.mapWithPrimitiveValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } func testEquality_nsintegerEnum() { @@ -288,8 +275,7 @@ class ObjcEqualityTests: XCTestCase { XCTAssertEqual(e1.hash, e2.hash) } -// func testEquality_otherModelProp () -// { +// func testEquality_otherModelProp() { // let t = 0 // let builder = EverythingBuilder() // builder.otherModelProp = t @@ -298,11 +284,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.otherModelProp, t) // XCTAssertEqual(e2.otherModelProp, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_polymorphicProp () -// { +// func testEquality_polymorphicProp() { // let t = 0 // let builder = EverythingBuilder() // builder.polymorphicProp = t @@ -311,11 +296,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.polymorphicProp, t) // XCTAssertEqual(e2.polymorphicProp, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_setProp () -// { +// func testEquality_setProp() { // let t = 0 // let builder = EverythingBuilder() // builder.setProp = t @@ -324,11 +308,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.setProp, t) // XCTAssertEqual(e2.setProp, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_setPropWithOtherModelValues () -// { +// func testEquality_setPropWithOtherModelValues() { // let t = 0 // let builder = EverythingBuilder() // builder.setPropWithOtherModelValues = t @@ -337,11 +320,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.setPropWithOtherModelValues, t) // XCTAssertEqual(e2.setPropWithOtherModelValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_setPropWithPrimitiveValues () -// { +// func testEquality_setPropWithPrimitiveValues() { // let t = 0 // let builder = EverythingBuilder() // builder.setPropWithPrimitiveValues = t @@ -350,11 +332,10 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.setPropWithPrimitiveValues, t) // XCTAssertEqual(e2.setPropWithPrimitiveValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } // -// func testEquality_setPropWithValues () -// { +// func testEquality_setPropWithValues() { // let t = 0 // let builder = EverythingBuilder() // builder.setPropWithValues = t @@ -363,7 +344,7 @@ class ObjcEqualityTests: XCTestCase { // XCTAssertEqual(e1.setPropWithValues, t) // XCTAssertEqual(e2.setPropWithValues, t) // XCTAssertEqual(e1, e2) - // XCTAssertEqual(e1.hash,e2.hash) +// XCTAssertEqual(e1.hash, e2.hash) // } func testEquality_shortEnum() { From 2cfcc07ceeb19b5382aa76da7eaa712e1e30a18e Mon Sep 17 00:00:00 2001 From: Greg Bolsinga Date: Tue, 11 Jun 2019 09:35:17 -0700 Subject: [PATCH 3/3] get some more types tested with excellent expert swift help provided by rahul --- .../Objective_CTests/ObjcEqualityTests.swift | 475 +++++++++--------- 1 file changed, 237 insertions(+), 238 deletions(-) diff --git a/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift b/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift index 6f15e8ac..42ba449e 100644 --- a/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift +++ b/Examples/Cocoa/Tests/Objective_CTests/ObjcEqualityTests.swift @@ -10,18 +10,17 @@ import XCTest @testable import Objective_C class ObjcEqualityTests: XCTestCase { -// func testEquality_arrayProp () -// { -// let t = 0 -// let builder = EverythingBuilder() -// builder.arrayProp = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.arrayProp, t) -// XCTAssertEqual(e2.arrayProp, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash,e2.hash) -// } + func testEquality_arrayProp() { + let t: [String] = ["String"] + let builder = EverythingBuilder() + builder.arrayProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.arrayProp as? [String], t) + XCTAssertEqual(e2.arrayProp as? [String], t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } func testEquality_booleanProp() { let t = true @@ -83,161 +82,161 @@ class ObjcEqualityTests: XCTestCase { XCTAssertEqual(e1.hash, e2.hash) } -// func testEquality_listPolymorphicValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.listPolymorphicValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.listPolymorphicValues, t) -// XCTAssertEqual(e2.listPolymorphicValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_listWithListAndOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.listWithListAndOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.listWithListAndOtherModelValues, t) -// XCTAssertEqual(e2.listWithListAndOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_listWithMapAndOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.listWithMapAndOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.listWithMapAndOtherModelValues, t) -// XCTAssertEqual(e2.listWithMapAndOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_listWithObjectValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.listWithObjectValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.listWithObjectValues, t) -// XCTAssertEqual(e2.listWithObjectValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_listWithOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.listWithOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.listWithOtherModelValues, t) -// XCTAssertEqual(e2.listWithOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_listWithPrimitiveValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.listWithPrimitiveValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.listWithPrimitiveValues, t) -// XCTAssertEqual(e2.listWithPrimitiveValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapPolymorphicValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapPolymorphicValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapPolymorphicValues, t) -// XCTAssertEqual(e2.mapPolymorphicValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapProp() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapProp = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapProp, t) -// XCTAssertEqual(e2.mapProp, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapWithListAndOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapWithListAndOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapWithListAndOtherModelValues, t) -// XCTAssertEqual(e2.mapWithListAndOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapWithMapAndOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapWithMapAndOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapWithMapAndOtherModelValues, t) -// XCTAssertEqual(e2.mapWithMapAndOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapWithObjectValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapWithObjectValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapWithObjectValues, t) -// XCTAssertEqual(e2.mapWithObjectValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapWithOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapWithOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapWithOtherModelValues, t) -// XCTAssertEqual(e2.mapWithOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_mapWithPrimitiveValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.mapWithPrimitiveValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.mapWithPrimitiveValues, t) -// XCTAssertEqual(e2.mapWithPrimitiveValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } + func testEquality_listPolymorphicValues() { + let t: [String] = ["String"] + let builder = EverythingBuilder() + builder.listPolymorphicValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.listPolymorphicValues as? [String], t) + XCTAssertEqual(e2.listPolymorphicValues as? [String], t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_listWithListAndOtherModelValues() { + let t: [[User]] = [[UserBuilder().build()]] + let builder = EverythingBuilder() + builder.listWithListAndOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.listWithListAndOtherModelValues, t) + XCTAssertEqual(e2.listWithListAndOtherModelValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_listWithMapAndOtherModelValues() { + let t: [[String: User]] = [["k": UserBuilder().build()]] + let builder = EverythingBuilder() + builder.listWithMapAndOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.listWithMapAndOtherModelValues, t) + XCTAssertEqual(e2.listWithMapAndOtherModelValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_listWithObjectValues() { + let t: [String] = ["String"] + let builder = EverythingBuilder() + builder.listWithObjectValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.listWithObjectValues, t) + XCTAssertEqual(e2.listWithObjectValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_listWithOtherModelValues() { + let t: [User] = [UserBuilder().build()] + let builder = EverythingBuilder() + builder.listWithOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.listWithOtherModelValues, t) + XCTAssertEqual(e2.listWithOtherModelValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_listWithPrimitiveValues() { + let t: [Int] = [23] + let builder = EverythingBuilder() + builder.listWithPrimitiveValues = t as [NSNumber] + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.listWithPrimitiveValues as? [Int], t) + XCTAssertEqual(e2.listWithPrimitiveValues as? [Int], t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapPolymorphicValues() { + let t: [String: EverythingMapPolymorphicValues] = ["k": EverythingMapPolymorphicValues.object(with: UserBuilder().build())] + let builder = EverythingBuilder() + builder.mapPolymorphicValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapPolymorphicValues, t) + XCTAssertEqual(e2.mapPolymorphicValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapProp() { + let t: [Int: Int] = [23: 45] + let builder = EverythingBuilder() + builder.mapProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapProp as? [Int: Int], t) + XCTAssertEqual(e2.mapProp as? [Int: Int], t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapWithListAndOtherModelValues() { + let t: [String: [User]] = ["k": [UserBuilder().build()]] + let builder = EverythingBuilder() + builder.mapWithListAndOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapWithListAndOtherModelValues, t) + XCTAssertEqual(e2.mapWithListAndOtherModelValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapWithMapAndOtherModelValues() { + let t: [String: [Int: Int]] = ["k": [23: 45]] + let builder = EverythingBuilder() + builder.mapWithMapAndOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapWithMapAndOtherModelValues as? [String: [Int: Int]], t) + XCTAssertEqual(e2.mapWithMapAndOtherModelValues as? [String: [Int: Int]], t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapWithObjectValues() { + let t: [String: String] = ["k": "v"] + let builder = EverythingBuilder() + builder.mapWithObjectValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapWithObjectValues, t) + XCTAssertEqual(e2.mapWithObjectValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapWithOtherModelValues() { + let t: [String: User] = ["k": UserBuilder().build()] + let builder = EverythingBuilder() + builder.mapWithOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapWithOtherModelValues, t) + XCTAssertEqual(e2.mapWithOtherModelValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_mapWithPrimitiveValues() { + let t: [String: Int] = ["k": 23] + let builder = EverythingBuilder() + builder.mapWithPrimitiveValues = t as [String: NSNumber] + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.mapWithPrimitiveValues as? [String: Int], t) + XCTAssertEqual(e2.mapWithPrimitiveValues as? [String: Int], t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } func testEquality_nsintegerEnum() { let t = EverythingNsintegerEnum.nsintegerCase1 @@ -275,77 +274,77 @@ class ObjcEqualityTests: XCTestCase { XCTAssertEqual(e1.hash, e2.hash) } -// func testEquality_otherModelProp() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.otherModelProp = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.otherModelProp, t) -// XCTAssertEqual(e2.otherModelProp, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_polymorphicProp() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.polymorphicProp = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.polymorphicProp, t) -// XCTAssertEqual(e2.polymorphicProp, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_setProp() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.setProp = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.setProp, t) -// XCTAssertEqual(e2.setProp, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_setPropWithOtherModelValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.setPropWithOtherModelValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.setPropWithOtherModelValues, t) -// XCTAssertEqual(e2.setPropWithOtherModelValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_setPropWithPrimitiveValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.setPropWithPrimitiveValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.setPropWithPrimitiveValues, t) -// XCTAssertEqual(e2.setPropWithPrimitiveValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } -// -// func testEquality_setPropWithValues() { -// let t = 0 -// let builder = EverythingBuilder() -// builder.setPropWithValues = t -// let e1 = builder.build() -// let e2 = builder.build() -// XCTAssertEqual(e1.setPropWithValues, t) -// XCTAssertEqual(e2.setPropWithValues, t) -// XCTAssertEqual(e1, e2) -// XCTAssertEqual(e1.hash, e2.hash) -// } + func testEquality_otherModelProp() { + let t = UserBuilder().build() + let builder = EverythingBuilder() + builder.otherModelProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.otherModelProp, t) + XCTAssertEqual(e2.otherModelProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_polymorphicProp() { + let t = EverythingPolymorphicProp.object(withBoolean: true) + let builder = EverythingBuilder() + builder.polymorphicProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.polymorphicProp, t) + XCTAssertEqual(e2.polymorphicProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_setProp() { + let t: Set = [23] + let builder = EverythingBuilder() + builder.setProp = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.setProp, t) + XCTAssertEqual(e2.setProp, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_setPropWithOtherModelValues() { + let t: Set = [UserBuilder().build()] + let builder = EverythingBuilder() + builder.setPropWithOtherModelValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.setPropWithOtherModelValues, t) + XCTAssertEqual(e2.setPropWithOtherModelValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_setPropWithPrimitiveValues() { + let t: Set = [23] + let builder = EverythingBuilder() + builder.setPropWithPrimitiveValues = t as Set + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.setPropWithPrimitiveValues as? Set, t) + XCTAssertEqual(e2.setPropWithPrimitiveValues as? Set, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } + + func testEquality_setPropWithValues() { + let t: Set = ["string"] + let builder = EverythingBuilder() + builder.setPropWithValues = t + let e1 = builder.build() + let e2 = builder.build() + XCTAssertEqual(e1.setPropWithValues, t) + XCTAssertEqual(e2.setPropWithValues, t) + XCTAssertEqual(e1, e2) + XCTAssertEqual(e1.hash, e2.hash) + } func testEquality_shortEnum() { let t = EverythingShortEnum.shortCase1