@@ -25,11 +25,29 @@ public class PolyProxyTests: XCTestCase {
2525 XCTAssertEqual ( polyUserA. relationships, . none)
2626 }
2727
28- func test_UserAEncode ( ) {
28+ func test_UserAAndBEncodeEquality ( ) {
2929 test_DecodeEncodeEquality ( type: User . self, data: poly_user_stub_1)
3030 test_DecodeEncodeEquality ( type: User . self, data: poly_user_stub_2)
3131 }
3232
33+ func test_AsymmetricEncodeDecodeUserA( ) {
34+ let userA = decoded ( type: UserA . self, data: poly_user_stub_1)
35+ let polyUserA = decoded ( type: User . self, data: poly_user_stub_1)
36+
37+ let encodedPoly = try ! JSONEncoder ( ) . encode ( polyUserA)
38+
39+ XCTAssertEqual ( decoded ( type: UserA . self, data: encodedPoly) , userA)
40+ }
41+
42+ func test_AsymmetricEncodeDecodeUserB( ) {
43+ let userB = decoded ( type: UserB . self, data: poly_user_stub_2)
44+ let polyUserB = decoded ( type: User . self, data: poly_user_stub_2)
45+
46+ let encodedPoly = try ! JSONEncoder ( ) . encode ( polyUserB)
47+
48+ XCTAssertEqual ( decoded ( type: UserB . self, data: encodedPoly) , userB)
49+ }
50+
3351 func test_UserBDecode( ) {
3452 let polyUserB = decoded ( type: User . self, data: poly_user_stub_2)
3553 let userB = decoded ( type: UserB . self, data: poly_user_stub_2)
0 commit comments