Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(465)

Side by Side Diff: third_party/protobuf/objectivec/Tests/GPBSwiftTests.swift

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2015 Google Inc. All rights reserved. 2 // Copyright 2015 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 24 matching lines...) Expand all
35 35
36 class GPBBridgeTests: XCTestCase { 36 class GPBBridgeTests: XCTestCase {
37 37
38 func testProto2Basics() { 38 func testProto2Basics() {
39 let msg = Message2() 39 let msg = Message2()
40 let msg2 = Message2() 40 let msg2 = Message2()
41 let msg3 = Message2_OptionalGroup() 41 let msg3 = Message2_OptionalGroup()
42 42
43 msg.optionalInt32 = 100 43 msg.optionalInt32 = 100
44 msg.optionalString = "abc" 44 msg.optionalString = "abc"
45 msg.optionalEnum = .Bar 45 msg.optionalEnum = .bar
46 msg2.optionalString = "other" 46 msg2.optionalString = "other"
47 msg.optionalMessage = msg2 47 msg.optional = msg2
48 msg3.a = 200 48 msg3.a = 200
49 msg.optionalGroup = msg3 49 msg.optionalGroup = msg3
50 msg.repeatedInt32Array.addValue(300) 50 msg.repeatedInt32Array.addValue(300)
51 msg.repeatedInt32Array.addValue(301) 51 msg.repeatedInt32Array.addValue(301)
52 msg.repeatedStringArray.addObject("mno") 52 msg.repeatedStringArray.add("mno")
53 msg.repeatedStringArray.addObject("pqr") 53 msg.repeatedStringArray.add("pqr")
54 msg.repeatedEnumArray.addValue(Message2_Enum.Bar.rawValue) 54 msg.repeatedEnumArray.addValue(Message2_Enum.bar.rawValue)
55 msg.repeatedEnumArray.addValue(Message2_Enum.Baz.rawValue) 55 msg.repeatedEnumArray.addValue(Message2_Enum.baz.rawValue)
56 msg.mapInt32Int32.setValue(400, forKey:500) 56 msg.mapInt32Int32.setInt32(400, forKey:500)
57 msg.mapInt32Int32.setValue(401, forKey:501) 57 msg.mapInt32Int32.setInt32(401, forKey:501)
58 msg.mapStringString.setObject("foo", forKey:"bar") 58 msg.mapStringString.setObject("foo", forKey:"bar" as NSString)
59 msg.mapStringString.setObject("abc", forKey:"xyz") 59 msg.mapStringString.setObject("abc", forKey:"xyz" as NSString)
60 msg.mapInt32Enum.setValue(Message2_Enum.Bar.rawValue, forKey:600) 60 msg.mapInt32Enum.setEnum(Message2_Enum.bar.rawValue, forKey:600)
61 msg.mapInt32Enum.setValue(Message2_Enum.Baz.rawValue, forKey:601) 61 msg.mapInt32Enum.setEnum(Message2_Enum.baz.rawValue, forKey:601)
62 62
63 // Check has*. 63 // Check has*.
64 XCTAssertTrue(msg.hasOptionalInt32) 64 XCTAssertTrue(msg.hasOptionalInt32)
65 XCTAssertTrue(msg.hasOptionalString) 65 XCTAssertTrue(msg.hasOptionalString)
66 XCTAssertTrue(msg.hasOptionalEnum) 66 XCTAssertTrue(msg.hasOptionalEnum)
67 XCTAssertTrue(msg2.hasOptionalString) 67 XCTAssertTrue(msg2.hasOptionalString)
68 XCTAssertTrue(msg.hasOptionalMessage) 68 XCTAssertTrue(msg.hasOptionalMessage)
69 XCTAssertTrue(msg3.hasA) 69 XCTAssertTrue(msg3.hasA)
70 XCTAssertTrue(msg.hasOptionalGroup) 70 XCTAssertTrue(msg.hasOptionalGroup)
71 XCTAssertFalse(msg.hasOptionalInt64) 71 XCTAssertFalse(msg.hasOptionalInt64)
72 XCTAssertFalse(msg.hasOptionalFloat) 72 XCTAssertFalse(msg.hasOptionalFloat)
73 73
74 // Check values. 74 // Check values.
75 XCTAssertEqual(msg.optionalInt32, Int32(100)) 75 XCTAssertEqual(msg.optionalInt32, Int32(100))
76 XCTAssertEqual(msg.optionalString, "abc") 76 XCTAssertEqual(msg.optionalString, "abc")
77 XCTAssertEqual(msg2.optionalString, "other") 77 XCTAssertEqual(msg2.optionalString, "other")
78 XCTAssertTrue(msg.optionalMessage === msg2) 78 XCTAssertTrue(msg.optional === msg2)
79 XCTAssertEqual(msg.optionalEnum, Message2_Enum.Bar) 79 XCTAssertEqual(msg.optionalEnum, Message2_Enum.bar)
80 XCTAssertEqual(msg3.a, Int32(200)) 80 XCTAssertEqual(msg3.a, Int32(200))
81 XCTAssertTrue(msg.optionalGroup === msg3) 81 XCTAssertTrue(msg.optionalGroup === msg3)
82 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(2)) 82 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(2))
83 XCTAssertEqual(msg.repeatedInt32Array.valueAtIndex(0), Int32(300)) 83 XCTAssertEqual(msg.repeatedInt32Array.value(at: 0), Int32(300))
84 XCTAssertEqual(msg.repeatedInt32Array.valueAtIndex(1), Int32(301)) 84 XCTAssertEqual(msg.repeatedInt32Array.value(at: 1), Int32(301))
85 XCTAssertEqual(msg.repeatedStringArray.count, Int(2)) 85 XCTAssertEqual(msg.repeatedStringArray.count, Int(2))
86 XCTAssertEqual(msg.repeatedStringArray.objectAtIndex(0) as? String, "mno") 86 XCTAssertEqual(msg.repeatedStringArray.object(at: 0) as? String, "mno")
87 XCTAssertEqual(msg.repeatedStringArray.objectAtIndex(1) as? String, "pqr") 87 XCTAssertEqual(msg.repeatedStringArray.object(at: 1) as? String, "pqr")
88 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(2)) 88 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(2))
89 XCTAssertEqual(msg.repeatedEnumArray.valueAtIndex(0), Message2_Enum.Bar.rawV alue) 89 XCTAssertEqual(msg.repeatedEnumArray.value(at: 0), Message2_Enum.bar.rawValu e)
90 XCTAssertEqual(msg.repeatedEnumArray.valueAtIndex(1), Message2_Enum.Baz.rawV alue) 90 XCTAssertEqual(msg.repeatedEnumArray.value(at: 1), Message2_Enum.baz.rawValu e)
91 XCTAssertEqual(msg.repeatedInt64Array.count, UInt(0)) 91 XCTAssertEqual(msg.repeatedInt64Array.count, UInt(0))
92 XCTAssertEqual(msg.mapInt32Int32.count, UInt(2)) 92 XCTAssertEqual(msg.mapInt32Int32.count, UInt(2))
93 var intValue: Int32 = 0; 93 var intValue: Int32 = 0
94 XCTAssertTrue(msg.mapInt32Int32.valueForKey(500, value:&intValue)) 94 XCTAssertTrue(msg.mapInt32Int32.getInt32(&intValue, forKey: 500))
95 XCTAssertEqual(intValue, Int32(400)) 95 XCTAssertEqual(intValue, Int32(400))
96 XCTAssertTrue(msg.mapInt32Int32.valueForKey(501, value:&intValue)) 96 XCTAssertTrue(msg.mapInt32Int32.getInt32(&intValue, forKey: 501))
97 XCTAssertEqual(intValue, Int32(401)) 97 XCTAssertEqual(intValue, Int32(401))
98 XCTAssertEqual(msg.mapStringString.count, Int(2)) 98 XCTAssertEqual(msg.mapStringString.count, Int(2))
99 XCTAssertEqual(msg.mapStringString.objectForKey("bar") as? String, "foo") 99 XCTAssertEqual(msg.mapStringString.object(forKey: "bar") as? String, "foo")
100 XCTAssertEqual(msg.mapStringString.objectForKey("xyz") as? String, "abc") 100 XCTAssertEqual(msg.mapStringString.object(forKey: "xyz") as? String, "abc")
101 XCTAssertEqual(msg.mapInt32Enum.count, UInt(2)) 101 XCTAssertEqual(msg.mapInt32Enum.count, UInt(2))
102 XCTAssertTrue(msg.mapInt32Enum.valueForKey(600, value:&intValue)) 102 XCTAssertTrue(msg.mapInt32Enum.getEnum(&intValue, forKey:600))
103 XCTAssertEqual(intValue, Message2_Enum.Bar.rawValue) 103 XCTAssertEqual(intValue, Message2_Enum.bar.rawValue)
104 XCTAssertTrue(msg.mapInt32Enum.valueForKey(601, value:&intValue)) 104 XCTAssertTrue(msg.mapInt32Enum.getEnum(&intValue, forKey:601))
105 XCTAssertEqual(intValue, Message2_Enum.Baz.rawValue) 105 XCTAssertEqual(intValue, Message2_Enum.baz.rawValue)
106 106
107 // Clearing a string with nil. 107 // Clearing a string with nil.
108 msg2.optionalString = nil 108 msg2.optionalString = nil
109 XCTAssertFalse(msg2.hasOptionalString) 109 XCTAssertFalse(msg2.hasOptionalString)
110 XCTAssertEqual(msg2.optionalString, "") 110 XCTAssertEqual(msg2.optionalString, "")
111 111
112 // Clearing a message with nil. 112 // Clearing a message with nil.
113 msg.optionalGroup = nil 113 msg.optionalGroup = nil
114 XCTAssertFalse(msg.hasOptionalGroup) 114 XCTAssertFalse(msg.hasOptionalGroup)
115 XCTAssertTrue(msg.optionalGroup !== msg3) // New instance 115 XCTAssertTrue(msg.optionalGroup !== msg3) // New instance
116 116
117 // Clear. 117 // Clear.
118 msg.clear() 118 msg.clear()
119 XCTAssertFalse(msg.hasOptionalInt32) 119 XCTAssertFalse(msg.hasOptionalInt32)
120 XCTAssertFalse(msg.hasOptionalString) 120 XCTAssertFalse(msg.hasOptionalString)
121 XCTAssertFalse(msg.hasOptionalEnum) 121 XCTAssertFalse(msg.hasOptionalEnum)
122 XCTAssertFalse(msg.hasOptionalMessage) 122 XCTAssertFalse(msg.hasOptionalMessage)
123 XCTAssertFalse(msg.hasOptionalInt64) 123 XCTAssertFalse(msg.hasOptionalInt64)
124 XCTAssertFalse(msg.hasOptionalFloat) 124 XCTAssertFalse(msg.hasOptionalFloat)
125 XCTAssertEqual(msg.optionalInt32, Int32(0)) 125 XCTAssertEqual(msg.optionalInt32, Int32(0))
126 XCTAssertEqual(msg.optionalString, "") 126 XCTAssertEqual(msg.optionalString, "")
127 XCTAssertTrue(msg.optionalMessage !== msg2) // New instance 127 XCTAssertTrue(msg.optional !== msg2) // New instance
128 XCTAssertEqual(msg.optionalEnum, Message2_Enum.Foo) // Default 128 XCTAssertEqual(msg.optionalEnum, Message2_Enum.foo) // Default
129 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(0)) 129 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(0))
130 XCTAssertEqual(msg.repeatedStringArray.count, Int(0)) 130 XCTAssertEqual(msg.repeatedStringArray.count, Int(0))
131 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(0)) 131 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(0))
132 XCTAssertEqual(msg.mapInt32Int32.count, UInt(0)) 132 XCTAssertEqual(msg.mapInt32Int32.count, UInt(0))
133 XCTAssertEqual(msg.mapStringString.count, Int(0)) 133 XCTAssertEqual(msg.mapStringString.count, Int(0))
134 XCTAssertEqual(msg.mapInt32Enum.count, UInt(0)) 134 XCTAssertEqual(msg.mapInt32Enum.count, UInt(0))
135 } 135 }
136 136
137 func testProto3Basics() { 137 func testProto3Basics() {
138 let msg = Message3() 138 let msg = Message3()
139 let msg2 = Message3() 139 let msg2 = Message3()
140 140
141 msg.optionalInt32 = 100 141 msg.optionalInt32 = 100
142 msg.optionalString = "abc" 142 msg.optionalString = "abc"
143 msg.optionalEnum = .Bar 143 msg.optionalEnum = .bar
144 msg2.optionalString = "other" 144 msg2.optionalString = "other"
145 msg.optionalMessage = msg2 145 msg.optional = msg2
146 msg.repeatedInt32Array.addValue(300) 146 msg.repeatedInt32Array.addValue(300)
147 msg.repeatedInt32Array.addValue(301) 147 msg.repeatedInt32Array.addValue(301)
148 msg.repeatedStringArray.addObject("mno") 148 msg.repeatedStringArray.add("mno")
149 msg.repeatedStringArray.addObject("pqr") 149 msg.repeatedStringArray.add("pqr")
150 // "proto3" syntax lets enum get unknown values. 150 // "proto3" syntax lets enum get unknown values.
151 msg.repeatedEnumArray.addValue(Message3_Enum.Bar.rawValue) 151 msg.repeatedEnumArray.addValue(Message3_Enum.bar.rawValue)
152 msg.repeatedEnumArray.addRawValue(666) 152 msg.repeatedEnumArray.addRawValue(666)
153 SetMessage3_OptionalEnum_RawValue(msg2, 666) 153 SetMessage3_OptionalEnum_RawValue(msg2, 666)
154 msg.mapInt32Int32.setValue(400, forKey:500) 154 msg.mapInt32Int32.setInt32(400, forKey:500)
155 msg.mapInt32Int32.setValue(401, forKey:501) 155 msg.mapInt32Int32.setInt32(401, forKey:501)
156 msg.mapStringString.setObject("foo", forKey:"bar") 156 msg.mapStringString.setObject("foo", forKey:"bar" as NSString)
157 msg.mapStringString.setObject("abc", forKey:"xyz") 157 msg.mapStringString.setObject("abc", forKey:"xyz" as NSString)
158 msg.mapInt32Enum.setValue(Message2_Enum.Bar.rawValue, forKey:600) 158 msg.mapInt32Enum.setEnum(Message2_Enum.bar.rawValue, forKey:600)
159 // "proto3" syntax lets enum get unknown values. 159 // "proto3" syntax lets enum get unknown values.
160 msg.mapInt32Enum.setRawValue(666, forKey:601) 160 msg.mapInt32Enum.setRawValue(666, forKey:601)
161 161
162 // Has only exists on for message fields. 162 // Has only exists on for message fields.
163 XCTAssertTrue(msg.hasOptionalMessage) 163 XCTAssertTrue(msg.hasOptionalMessage)
164 XCTAssertFalse(msg2.hasOptionalMessage) 164 XCTAssertFalse(msg2.hasOptionalMessage)
165 165
166 // Check values. 166 // Check values.
167 XCTAssertEqual(msg.optionalInt32, Int32(100)) 167 XCTAssertEqual(msg.optionalInt32, Int32(100))
168 XCTAssertEqual(msg.optionalString, "abc") 168 XCTAssertEqual(msg.optionalString, "abc")
169 XCTAssertEqual(msg2.optionalString, "other") 169 XCTAssertEqual(msg2.optionalString, "other")
170 XCTAssertTrue(msg.optionalMessage === msg2) 170 XCTAssertTrue(msg.optional === msg2)
171 XCTAssertEqual(msg.optionalEnum, Message3_Enum.Bar) 171 XCTAssertEqual(msg.optionalEnum, Message3_Enum.bar)
172 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(2)) 172 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(2))
173 XCTAssertEqual(msg.repeatedInt32Array.valueAtIndex(0), Int32(300)) 173 XCTAssertEqual(msg.repeatedInt32Array.value(at: 0), Int32(300))
174 XCTAssertEqual(msg.repeatedInt32Array.valueAtIndex(1), Int32(301)) 174 XCTAssertEqual(msg.repeatedInt32Array.value(at: 1), Int32(301))
175 XCTAssertEqual(msg.repeatedStringArray.count, Int(2)) 175 XCTAssertEqual(msg.repeatedStringArray.count, Int(2))
176 XCTAssertEqual(msg.repeatedStringArray.objectAtIndex(0) as? String, "mno") 176 XCTAssertEqual(msg.repeatedStringArray.object(at: 0) as? String, "mno")
177 XCTAssertEqual(msg.repeatedStringArray.objectAtIndex(1) as? String, "pqr") 177 XCTAssertEqual(msg.repeatedStringArray.object(at: 1) as? String, "pqr")
178 XCTAssertEqual(msg.repeatedInt64Array.count, UInt(0)) 178 XCTAssertEqual(msg.repeatedInt64Array.count, UInt(0))
179 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(2)) 179 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(2))
180 XCTAssertEqual(msg.repeatedEnumArray.valueAtIndex(0), Message3_Enum.Bar.rawV alue) 180 XCTAssertEqual(msg.repeatedEnumArray.value(at: 0), Message3_Enum.bar.rawValu e)
181 XCTAssertEqual(msg.repeatedEnumArray.valueAtIndex(1), Message3_Enum.GPBUnrec ognizedEnumeratorValue.rawValue) 181 XCTAssertEqual(msg.repeatedEnumArray.value(at: 1), Message3_Enum.gpbUnrecogn izedEnumeratorValue.rawValue)
182 XCTAssertEqual(msg.repeatedEnumArray.rawValueAtIndex(1), 666) 182 XCTAssertEqual(msg.repeatedEnumArray.rawValue(at: 1), 666)
183 XCTAssertEqual(msg2.optionalEnum, Message3_Enum.GPBUnrecognizedEnumeratorVal ue) 183 XCTAssertEqual(msg2.optionalEnum, Message3_Enum.gpbUnrecognizedEnumeratorVal ue)
184 XCTAssertEqual(Message3_OptionalEnum_RawValue(msg2), Int32(666)) 184 XCTAssertEqual(Message3_OptionalEnum_RawValue(msg2), Int32(666))
185 XCTAssertEqual(msg.mapInt32Int32.count, UInt(2)) 185 XCTAssertEqual(msg.mapInt32Int32.count, UInt(2))
186 var intValue: Int32 = 0; 186 var intValue: Int32 = 0
187 XCTAssertTrue(msg.mapInt32Int32.valueForKey(500, value:&intValue)) 187 XCTAssertTrue(msg.mapInt32Int32.getInt32(&intValue, forKey:500))
188 XCTAssertEqual(intValue, Int32(400)) 188 XCTAssertEqual(intValue, Int32(400))
189 XCTAssertTrue(msg.mapInt32Int32.valueForKey(501, value:&intValue)) 189 XCTAssertTrue(msg.mapInt32Int32.getInt32(&intValue, forKey:501))
190 XCTAssertEqual(intValue, Int32(401)) 190 XCTAssertEqual(intValue, Int32(401))
191 XCTAssertEqual(msg.mapStringString.count, Int(2)) 191 XCTAssertEqual(msg.mapStringString.count, Int(2))
192 XCTAssertEqual(msg.mapStringString.objectForKey("bar") as? String, "foo") 192 XCTAssertEqual(msg.mapStringString.object(forKey: "bar") as? String, "foo")
193 XCTAssertEqual(msg.mapStringString.objectForKey("xyz") as? String, "abc") 193 XCTAssertEqual(msg.mapStringString.object(forKey: "xyz") as? String, "abc")
194 XCTAssertEqual(msg.mapInt32Enum.count, UInt(2)) 194 XCTAssertEqual(msg.mapInt32Enum.count, UInt(2))
195 XCTAssertTrue(msg.mapInt32Enum.valueForKey(600, value:&intValue)) 195 XCTAssertTrue(msg.mapInt32Enum.getEnum(&intValue, forKey:600))
196 XCTAssertEqual(intValue, Message2_Enum.Bar.rawValue) 196 XCTAssertEqual(intValue, Message2_Enum.bar.rawValue)
197 XCTAssertTrue(msg.mapInt32Enum.valueForKey(601, value:&intValue)) 197 XCTAssertTrue(msg.mapInt32Enum.getEnum(&intValue, forKey:601))
198 XCTAssertEqual(intValue, Message3_Enum.GPBUnrecognizedEnumeratorValue.rawVal ue) 198 XCTAssertEqual(intValue, Message3_Enum.gpbUnrecognizedEnumeratorValue.rawVal ue)
199 XCTAssertTrue(msg.mapInt32Enum.valueForKey(601, rawValue:&intValue)) 199 XCTAssertTrue(msg.mapInt32Enum.getRawValue(&intValue, forKey:601))
200 XCTAssertEqual(intValue, 666) 200 XCTAssertEqual(intValue, 666)
201 201
202 // Clearing a string with nil. 202 // Clearing a string with nil.
203 msg2.optionalString = nil 203 msg2.optionalString = nil
204 XCTAssertEqual(msg2.optionalString, "") 204 XCTAssertEqual(msg2.optionalString, "")
205 205
206 // Clearing a message with nil. 206 // Clearing a message with nil.
207 msg.optionalMessage = nil 207 msg.optional = nil
208 XCTAssertFalse(msg.hasOptionalMessage) 208 XCTAssertFalse(msg.hasOptionalMessage)
209 XCTAssertTrue(msg.optionalMessage !== msg2) // New instance 209 XCTAssertTrue(msg.optional !== msg2) // New instance
210 210
211 // Clear. 211 // Clear.
212 msg.clear() 212 msg.clear()
213 XCTAssertFalse(msg.hasOptionalMessage) 213 XCTAssertFalse(msg.hasOptionalMessage)
214 XCTAssertEqual(msg.optionalInt32, Int32(0)) 214 XCTAssertEqual(msg.optionalInt32, Int32(0))
215 XCTAssertEqual(msg.optionalString, "") 215 XCTAssertEqual(msg.optionalString, "")
216 XCTAssertTrue(msg.optionalMessage !== msg2) // New instance 216 XCTAssertTrue(msg.optional !== msg2) // New instance
217 XCTAssertEqual(msg.optionalEnum, Message3_Enum.Foo) // Default 217 XCTAssertEqual(msg.optionalEnum, Message3_Enum.foo) // Default
218 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(0)) 218 XCTAssertEqual(msg.repeatedInt32Array.count, UInt(0))
219 XCTAssertEqual(msg.repeatedStringArray.count, Int(0)) 219 XCTAssertEqual(msg.repeatedStringArray.count, Int(0))
220 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(0)) 220 XCTAssertEqual(msg.repeatedEnumArray.count, UInt(0))
221 msg2.clear() 221 msg2.clear()
222 XCTAssertEqual(msg2.optionalEnum, Message3_Enum.Foo) // Default 222 XCTAssertEqual(msg2.optionalEnum, Message3_Enum.foo) // Default
223 XCTAssertEqual(Message3_OptionalEnum_RawValue(msg2), Message3_Enum.Foo.rawVa lue) 223 XCTAssertEqual(Message3_OptionalEnum_RawValue(msg2), Message3_Enum.foo.rawVa lue)
224 XCTAssertEqual(msg.mapInt32Int32.count, UInt(0)) 224 XCTAssertEqual(msg.mapInt32Int32.count, UInt(0))
225 XCTAssertEqual(msg.mapStringString.count, Int(0)) 225 XCTAssertEqual(msg.mapStringString.count, Int(0))
226 XCTAssertEqual(msg.mapInt32Enum.count, UInt(0)) 226 XCTAssertEqual(msg.mapInt32Enum.count, UInt(0))
227 } 227 }
228 228
229 func testAutoCreation() { 229 func testAutoCreation() {
230 let msg = Message2() 230 let msg = Message2()
231 231
232 XCTAssertFalse(msg.hasOptionalGroup) 232 XCTAssertFalse(msg.hasOptionalGroup)
233 XCTAssertFalse(msg.hasOptionalMessage) 233 XCTAssertFalse(msg.hasOptionalMessage)
234 234
235 // Access shouldn't result in has* but should return objects. 235 // Access shouldn't result in has* but should return objects.
236 let msg2 = msg.optionalGroup 236 let msg2 = msg.optionalGroup
237 let msg3 = msg.optionalMessage.optionalMessage 237 let msg3 = msg.optional.optional
238 let msg4 = msg.optionalMessage 238 let msg4 = msg.optional
239 XCTAssertNotNil(msg2) 239 XCTAssertNotNil(msg2)
240 XCTAssertNotNil(msg3) 240 XCTAssertNotNil(msg3)
241 XCTAssertFalse(msg.hasOptionalGroup) 241 XCTAssertFalse(msg.hasOptionalGroup)
242 XCTAssertFalse(msg.optionalMessage.hasOptionalMessage) 242 XCTAssertFalse(msg.optional.hasOptionalMessage)
243 XCTAssertFalse(msg.hasOptionalMessage) 243 XCTAssertFalse(msg.hasOptionalMessage)
244 244
245 // Setting things should trigger has* getting set. 245 // Setting things should trigger has* getting set.
246 msg.optionalGroup.a = 10 246 msg.optionalGroup.a = 10
247 msg.optionalMessage.optionalMessage.optionalInt32 = 100 247 msg.optional.optional.optionalInt32 = 100
248 XCTAssertTrue(msg.hasOptionalGroup) 248 XCTAssertTrue(msg.hasOptionalGroup)
249 XCTAssertTrue(msg.optionalMessage.hasOptionalMessage) 249 XCTAssertTrue(msg.optional.hasOptionalMessage)
250 XCTAssertTrue(msg.hasOptionalMessage) 250 XCTAssertTrue(msg.hasOptionalMessage)
251 251
252 // And they should be the same pointer as before. 252 // And they should be the same pointer as before.
253 XCTAssertTrue(msg2 === msg.optionalGroup) 253 XCTAssertTrue(msg2 === msg.optionalGroup)
254 XCTAssertTrue(msg3 === msg.optionalMessage.optionalMessage) 254 XCTAssertTrue(msg3 === msg.optional.optional)
255 XCTAssertTrue(msg4 === msg.optionalMessage) 255 XCTAssertTrue(msg4 === msg.optional)
256 256
257 // Clear gets us new objects next time around. 257 // Clear gets us new objects next time around.
258 msg.clear() 258 msg.clear()
259 XCTAssertFalse(msg.hasOptionalGroup) 259 XCTAssertFalse(msg.hasOptionalGroup)
260 XCTAssertFalse(msg.optionalMessage.hasOptionalMessage) 260 XCTAssertFalse(msg.optional.hasOptionalMessage)
261 XCTAssertFalse(msg.hasOptionalMessage) 261 XCTAssertFalse(msg.hasOptionalMessage)
262 msg.optionalGroup.a = 20 262 msg.optionalGroup.a = 20
263 msg.optionalMessage.optionalMessage.optionalInt32 = 200 263 msg.optional.optional.optionalInt32 = 200
264 XCTAssertTrue(msg.hasOptionalGroup) 264 XCTAssertTrue(msg.hasOptionalGroup)
265 XCTAssertTrue(msg.optionalMessage.hasOptionalMessage) 265 XCTAssertTrue(msg.optional.hasOptionalMessage)
266 XCTAssertTrue(msg.hasOptionalMessage) 266 XCTAssertTrue(msg.hasOptionalMessage)
267 XCTAssertTrue(msg2 !== msg.optionalGroup) 267 XCTAssertTrue(msg2 !== msg.optionalGroup)
268 XCTAssertTrue(msg3 !== msg.optionalMessage.optionalMessage) 268 XCTAssertTrue(msg3 !== msg.optional.optional)
269 XCTAssertTrue(msg4 !== msg.optionalMessage) 269 XCTAssertTrue(msg4 !== msg.optional)
270 270
271 // Explicit set of a message, means autocreated object doesn't bind. 271 // Explicit set of a message, means autocreated object doesn't bind.
272 msg.clear() 272 msg.clear()
273 let autoCreated = msg.optionalMessage 273 let autoCreated = msg.optional
274 XCTAssertFalse(msg.hasOptionalMessage) 274 XCTAssertFalse(msg.hasOptionalMessage)
275 let msg5 = Message2() 275 let msg5 = Message2()
276 msg5.optionalInt32 = 123 276 msg5.optionalInt32 = 123
277 msg.optionalMessage = msg5 277 msg.optional = msg5
278 XCTAssertTrue(msg.hasOptionalMessage) 278 XCTAssertTrue(msg.hasOptionalMessage)
279 // Modifing the autocreated doesn't replaced the explicit set one. 279 // Modifing the autocreated doesn't replaced the explicit set one.
280 autoCreated.optionalInt32 = 456 280 autoCreated?.optionalInt32 = 456
281 XCTAssertTrue(msg.hasOptionalMessage) 281 XCTAssertTrue(msg.hasOptionalMessage)
282 XCTAssertTrue(msg.optionalMessage === msg5) 282 XCTAssertTrue(msg.optional === msg5)
283 XCTAssertEqual(msg.optionalMessage.optionalInt32, Int32(123)) 283 XCTAssertEqual(msg.optional.optionalInt32, Int32(123))
284 } 284 }
285 285
286 func testProto2OneOfSupport() { 286 func testProto2OneOfSupport() {
287 let msg = Message2() 287 let msg = Message2()
288 288
289 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.GPBUnsetOneOfCase) 289 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.gpbUnsetOneOfCase)
290 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default 290 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default
291 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default 291 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default
292 XCTAssertEqual(msg.oneofEnum, Message2_Enum.Baz) // Default 292 XCTAssertEqual(msg.oneofEnum, Message2_Enum.baz) // Default
293 let autoCreated = msg.oneofMessage // Default create one. 293 let autoCreated = msg.oneof // Default create one.
294 XCTAssertNotNil(autoCreated) 294 XCTAssertNotNil(autoCreated)
295 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.GPBUnsetOneOfCase) 295 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.gpbUnsetOneOfCase)
296 296
297 msg.oneofInt32 = 10 297 msg.oneofInt32 = 10
298 XCTAssertEqual(msg.oneofInt32, Int32(10)) 298 XCTAssertEqual(msg.oneofInt32, Int32(10))
299 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default 299 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default
300 XCTAssertEqual(msg.oneofEnum, Message2_Enum.Baz) // Default 300 XCTAssertEqual(msg.oneofEnum, Message2_Enum.baz) // Default
301 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 301 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
302 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.OneofInt32) 302 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.oneofInt32)
303 303
304 msg.oneofFloat = 20.0 304 msg.oneofFloat = 20.0
305 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default 305 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default
306 XCTAssertEqual(msg.oneofFloat, Float(20.0)) 306 XCTAssertEqual(msg.oneofFloat, Float(20.0))
307 XCTAssertEqual(msg.oneofEnum, Message2_Enum.Baz) // Default 307 XCTAssertEqual(msg.oneofEnum, Message2_Enum.baz) // Default
308 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 308 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
309 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.OneofFloat) 309 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.oneofFloat)
310 310
311 msg.oneofEnum = .Bar 311 msg.oneofEnum = .bar
312 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default 312 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default
313 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default 313 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default
314 XCTAssertEqual(msg.oneofEnum, Message2_Enum.Bar) 314 XCTAssertEqual(msg.oneofEnum, Message2_Enum.bar)
315 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 315 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
316 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.OneofEnum) 316 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.oneofEnum)
317 317
318 // Sets via the autocreated instance. 318 // Sets via the autocreated instance.
319 msg.oneofMessage.optionalInt32 = 200 319 msg.oneof.optionalInt32 = 200
320 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default 320 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default
321 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default 321 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default
322 XCTAssertEqual(msg.oneofEnum, Message2_Enum.Baz) // Default 322 XCTAssertEqual(msg.oneofEnum, Message2_Enum.baz) // Default
323 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 323 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
324 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(200)) 324 XCTAssertEqual(msg.oneof.optionalInt32, Int32(200))
325 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.OneofMessage) 325 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.oneofMessage)
326 326
327 // Clear the oneof. 327 // Clear the oneof.
328 Message2_ClearOOneOfCase(msg) 328 Message2_ClearOOneOfCase(msg)
329 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default 329 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default
330 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default 330 XCTAssertEqual(msg.oneofFloat, Float(110.0)) // Default
331 XCTAssertEqual(msg.oneofEnum, Message2_Enum.Baz) // Default 331 XCTAssertEqual(msg.oneofEnum, Message2_Enum.baz) // Default
332 let autoCreated2 = msg.oneofMessage // Default create one 332 let autoCreated2 = msg.oneof // Default create one
333 XCTAssertNotNil(autoCreated2) 333 XCTAssertNotNil(autoCreated2)
334 XCTAssertTrue(autoCreated2 !== autoCreated) // New instance 334 XCTAssertTrue(autoCreated2 !== autoCreated) // New instance
335 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(0)) // Default 335 XCTAssertEqual(msg.oneof.optionalInt32, Int32(0)) // Default
336 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.GPBUnsetOneOfCase) 336 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.gpbUnsetOneOfCase)
337 337
338 msg.oneofInt32 = 10 338 msg.oneofInt32 = 10
339 XCTAssertEqual(msg.oneofInt32, Int32(10)) 339 XCTAssertEqual(msg.oneofInt32, Int32(10))
340 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.OneofInt32) 340 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.oneofInt32)
341 341
342 // Confirm Message.clear() handles the oneof correctly. 342 // Confirm Message.clear() handles the oneof correctly.
343 msg.clear() 343 msg.clear()
344 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default 344 XCTAssertEqual(msg.oneofInt32, Int32(100)) // Default
345 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.GPBUnsetOneOfCase) 345 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.gpbUnsetOneOfCase)
346 346
347 // Sets via the autocreated instance. 347 // Sets via the autocreated instance.
348 msg.oneofMessage.optionalInt32 = 300 348 msg.oneof.optionalInt32 = 300
349 XCTAssertTrue(msg.oneofMessage !== autoCreated) // New instance 349 XCTAssertTrue(msg.oneof !== autoCreated) // New instance
350 XCTAssertTrue(msg.oneofMessage !== autoCreated2) // New instance 350 XCTAssertTrue(msg.oneof !== autoCreated2) // New instance
351 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(300)) 351 XCTAssertEqual(msg.oneof.optionalInt32, Int32(300))
352 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.OneofMessage) 352 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.oneofMessage)
353 353
354 // Set message to nil clears the oneof. 354 // Set message to nil clears the oneof.
355 msg.oneofMessage = nil 355 msg.oneof = nil
356 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(0)) // Default 356 XCTAssertEqual(msg.oneof.optionalInt32, Int32(0)) // Default
357 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.GPBUnsetOneOfCase) 357 XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase.gpbUnsetOneOfCase)
358 } 358 }
359 359
360 func testProto3OneOfSupport() { 360 func testProto3OneOfSupport() {
361 let msg = Message3() 361 let msg = Message3()
362 362
363 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.GPBUnsetOneOfCase) 363 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.gpbUnsetOneOfCase)
364 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default 364 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default
365 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default 365 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default
366 XCTAssertEqual(msg.oneofEnum, Message3_Enum.Foo) // Default 366 XCTAssertEqual(msg.oneofEnum, Message3_Enum.foo) // Default
367 let autoCreated = msg.oneofMessage // Default create one. 367 let autoCreated = msg.oneof // Default create one.
368 XCTAssertNotNil(autoCreated) 368 XCTAssertNotNil(autoCreated)
369 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.GPBUnsetOneOfCase) 369 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.gpbUnsetOneOfCase)
370 370
371 msg.oneofInt32 = 10 371 msg.oneofInt32 = 10
372 XCTAssertEqual(msg.oneofInt32, Int32(10)) 372 XCTAssertEqual(msg.oneofInt32, Int32(10))
373 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default 373 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default
374 XCTAssertEqual(msg.oneofEnum, Message3_Enum.Foo) // Default 374 XCTAssertEqual(msg.oneofEnum, Message3_Enum.foo) // Default
375 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 375 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
376 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.OneofInt32) 376 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.oneofInt32)
377 377
378 msg.oneofFloat = 20.0 378 msg.oneofFloat = 20.0
379 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default 379 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default
380 XCTAssertEqual(msg.oneofFloat, Float(20.0)) 380 XCTAssertEqual(msg.oneofFloat, Float(20.0))
381 XCTAssertEqual(msg.oneofEnum, Message3_Enum.Foo) // Default 381 XCTAssertEqual(msg.oneofEnum, Message3_Enum.foo) // Default
382 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 382 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
383 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.OneofFloat) 383 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.oneofFloat)
384 384
385 msg.oneofEnum = .Bar 385 msg.oneofEnum = .bar
386 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default 386 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default
387 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default 387 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default
388 XCTAssertEqual(msg.oneofEnum, Message3_Enum.Bar) 388 XCTAssertEqual(msg.oneofEnum, Message3_Enum.bar)
389 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 389 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
390 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.OneofEnum) 390 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.oneofEnum)
391 391
392 // Sets via the autocreated instance. 392 // Sets via the autocreated instance.
393 msg.oneofMessage.optionalInt32 = 200 393 msg.oneof.optionalInt32 = 200
394 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default 394 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default
395 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default 395 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default
396 XCTAssertEqual(msg.oneofEnum, Message3_Enum.Foo) // Default 396 XCTAssertEqual(msg.oneofEnum, Message3_Enum.foo) // Default
397 XCTAssertTrue(msg.oneofMessage === autoCreated) // Still the same 397 XCTAssertTrue(msg.oneof === autoCreated) // Still the same
398 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(200)) 398 XCTAssertEqual(msg.oneof.optionalInt32, Int32(200))
399 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.OneofMessage) 399 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.oneofMessage)
400 400
401 // Clear the oneof. 401 // Clear the oneof.
402 Message3_ClearOOneOfCase(msg) 402 Message3_ClearOOneOfCase(msg)
403 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default 403 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default
404 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default 404 XCTAssertEqual(msg.oneofFloat, Float(0.0)) // Default
405 XCTAssertEqual(msg.oneofEnum, Message3_Enum.Foo) // Default 405 XCTAssertEqual(msg.oneofEnum, Message3_Enum.foo) // Default
406 let autoCreated2 = msg.oneofMessage // Default create one 406 let autoCreated2 = msg.oneof // Default create one
407 XCTAssertNotNil(autoCreated2) 407 XCTAssertNotNil(autoCreated2)
408 XCTAssertTrue(autoCreated2 !== autoCreated) // New instance 408 XCTAssertTrue(autoCreated2 !== autoCreated) // New instance
409 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(0)) // Default 409 XCTAssertEqual(msg.oneof.optionalInt32, Int32(0)) // Default
410 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.GPBUnsetOneOfCase) 410 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.gpbUnsetOneOfCase)
411 411
412 msg.oneofInt32 = 10 412 msg.oneofInt32 = 10
413 XCTAssertEqual(msg.oneofInt32, Int32(10)) 413 XCTAssertEqual(msg.oneofInt32, Int32(10))
414 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.OneofInt32) 414 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.oneofInt32)
415 415
416 // Confirm Message.clear() handles the oneof correctly. 416 // Confirm Message.clear() handles the oneof correctly.
417 msg.clear() 417 msg.clear()
418 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default 418 XCTAssertEqual(msg.oneofInt32, Int32(0)) // Default
419 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.GPBUnsetOneOfCase) 419 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.gpbUnsetOneOfCase)
420 420
421 // Sets via the autocreated instance. 421 // Sets via the autocreated instance.
422 msg.oneofMessage.optionalInt32 = 300 422 msg.oneof.optionalInt32 = 300
423 XCTAssertTrue(msg.oneofMessage !== autoCreated) // New instance 423 XCTAssertTrue(msg.oneof !== autoCreated) // New instance
424 XCTAssertTrue(msg.oneofMessage !== autoCreated2) // New instance 424 XCTAssertTrue(msg.oneof !== autoCreated2) // New instance
425 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(300)) 425 XCTAssertEqual(msg.oneof.optionalInt32, Int32(300))
426 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.OneofMessage) 426 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.oneofMessage)
427 427
428 // Set message to nil clears the oneof. 428 // Set message to nil clears the oneof.
429 msg.oneofMessage = nil 429 msg.oneof = nil
430 XCTAssertEqual(msg.oneofMessage.optionalInt32, Int32(0)) // Default 430 XCTAssertEqual(msg.oneof.optionalInt32, Int32(0)) // Default
431 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.GPBUnsetOneOfCase) 431 XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase.gpbUnsetOneOfCase)
432 } 432 }
433 433
434 func testSerialization() { 434 func testSerialization() {
435 let msg = Message2() 435 let msg = Message2()
436 436
437 msg.optionalInt32 = 100 437 msg.optionalInt32 = 100
438 msg.optionalInt64 = 101 438 msg.optionalInt64 = 101
439 msg.optionalGroup.a = 102 439 msg.optionalGroup.a = 102
440 msg.repeatedStringArray.addObject("abc") 440 msg.repeatedStringArray.add("abc")
441 msg.repeatedStringArray.addObject("def") 441 msg.repeatedStringArray.add("def")
442 msg.mapInt32Int32.setValue(200, forKey:300) 442 msg.mapInt32Int32.setInt32(200, forKey:300)
443 msg.mapInt32Int32.setValue(201, forKey:201) 443 msg.mapInt32Int32.setInt32(201, forKey:201)
444 msg.mapStringString.setObject("foo", forKey:"bar") 444 msg.mapStringString.setObject("foo", forKey:"bar" as NSString)
445 msg.mapStringString.setObject("abc", forKey:"xyz") 445 msg.mapStringString.setObject("abc", forKey:"xyz" as NSString)
446 446
447 let data = msg.data() 447 let data = msg.data()
448 448
449 let msg2 = Message2(data: data!, error:nil) 449 let msg2 = try! Message2(data: data!)
450 XCTAssertTrue(msg2 !== msg) // New instance 450 XCTAssertTrue(msg2 !== msg) // New instance
451 XCTAssertEqual(msg.optionalInt32, Int32(100)) 451 XCTAssertEqual(msg.optionalInt32, Int32(100))
452 XCTAssertEqual(msg.optionalInt64, Int64(101)) 452 XCTAssertEqual(msg.optionalInt64, Int64(101))
453 XCTAssertEqual(msg.optionalGroup.a, Int32(102)) 453 XCTAssertEqual(msg.optionalGroup.a, Int32(102))
454 XCTAssertEqual(msg.repeatedStringArray.count, Int(2)) 454 XCTAssertEqual(msg.repeatedStringArray.count, Int(2))
455 XCTAssertEqual(msg.mapInt32Int32.count, UInt(2)) 455 XCTAssertEqual(msg.mapInt32Int32.count, UInt(2))
456 XCTAssertEqual(msg.mapStringString.count, Int(2)) 456 XCTAssertEqual(msg.mapStringString.count, Int(2))
457 XCTAssertEqual(msg2, msg) 457 XCTAssertEqual(msg2, msg)
458 } 458 }
459 459
460 } 460 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698