@@ -53,6 +53,51 @@ class TestUnit: XCTestCase {
53
53
54
54
XCTAssertEqual ( u1, d1)
55
55
XCTAssertNotEqual ( d1, u1)
56
+
57
+ func testEquality< T: Dimension > ( ofDimensionSubclass: T . Type ) {
58
+ let u0 = Unit ( symbol: s1)
59
+ let d1 = Dimension ( symbol: s1, converter: uc1)
60
+
61
+ let u1 = T ( symbol: s1, converter: uc1)
62
+ let u2 = T ( symbol: s1, converter: uc1)
63
+ let u3 = T ( symbol: s1, converter: uc2)
64
+ let u4 = T ( symbol: s2, converter: uc1)
65
+
66
+ XCTAssertEqual ( u1, u2)
67
+ XCTAssertEqual ( u2, u1)
68
+ XCTAssertNotEqual ( u1, u3)
69
+ XCTAssertNotEqual ( u3, u1)
70
+ XCTAssertNotEqual ( u1, u4)
71
+ XCTAssertNotEqual ( u4, u1)
72
+
73
+ XCTAssertEqual ( u0, u1)
74
+ XCTAssertNotEqual ( u1, u0)
75
+
76
+ XCTAssertEqual ( d1, u1)
77
+ XCTAssertNotEqual ( u1, d1)
78
+ }
79
+
80
+ testEquality ( ofDimensionSubclass: UnitAcceleration . self)
81
+ testEquality ( ofDimensionSubclass: UnitAngle . self)
82
+ testEquality ( ofDimensionSubclass: UnitArea . self)
83
+ testEquality ( ofDimensionSubclass: UnitConcentrationMass . self)
84
+ testEquality ( ofDimensionSubclass: UnitDispersion . self)
85
+ testEquality ( ofDimensionSubclass: UnitDuration . self)
86
+ testEquality ( ofDimensionSubclass: UnitElectricCharge . self)
87
+ testEquality ( ofDimensionSubclass: UnitElectricCurrent . self)
88
+ testEquality ( ofDimensionSubclass: UnitElectricPotentialDifference . self)
89
+ testEquality ( ofDimensionSubclass: UnitElectricResistance . self)
90
+ testEquality ( ofDimensionSubclass: UnitEnergy . self)
91
+ testEquality ( ofDimensionSubclass: UnitFrequency . self)
92
+ testEquality ( ofDimensionSubclass: UnitFuelEfficiency . self)
93
+ testEquality ( ofDimensionSubclass: UnitIlluminance . self)
94
+ testEquality ( ofDimensionSubclass: UnitLength . self)
95
+ testEquality ( ofDimensionSubclass: UnitMass . self)
96
+ testEquality ( ofDimensionSubclass: UnitPower . self)
97
+ testEquality ( ofDimensionSubclass: UnitPressure . self)
98
+ testEquality ( ofDimensionSubclass: UnitSpeed . self)
99
+ testEquality ( ofDimensionSubclass: UnitTemperature . self)
100
+ testEquality ( ofDimensionSubclass: UnitVolume . self)
56
101
}
57
102
58
103
}
0 commit comments