1 // Protocol Buffers - Google's data interchange format 2 // Copyright 2008 Google Inc. All rights reserved. 3 // https://developers.google.com/protocol-buffers/ 4 // 5 // Redistribution and use in source and binary forms, with or without 6 // modification, are permitted provided that the following conditions are 7 // met: 8 // 9 // * Redistributions of source code must retain the above copyright 10 // notice, this list of conditions and the following disclaimer. 11 // * Redistributions in binary form must reproduce the above 12 // copyright notice, this list of conditions and the following disclaimer 13 // in the documentation and/or other materials provided with the 14 // distribution. 15 // * Neither the name of Google Inc. nor the names of its 16 // contributors may be used to endorse or promote products derived from 17 // this software without specific prior written permission. 18 // 19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31 #import <XCTest/XCTest.h> 32 33 @class TestAllExtensions; 34 @class TestAllTypes; 35 @class TestMap; 36 @class TestPackedTypes; 37 @class TestPackedExtensions; 38 @class TestUnpackedTypes; 39 @class TestUnpackedExtensions; 40 @class GPBExtensionRegistry; 41 42 43 // Helper for uses of C arrays in tests cases. 44 #ifndef GPBARRAYSIZE 45 #define GPBARRAYSIZE(a) ((sizeof(a) / sizeof((a[0])))) 46 #endif // GPBARRAYSIZE 47 48 49 // The number of repetitions of any repeated objects inside of test messages. 50 extern const uint32_t kGPBDefaultRepeatCount; 51 52 @interface GPBTestCase : XCTestCase 53 54 - (void)setAllFields:(TestAllTypes *)message repeatedCount:(uint32_t)count; 55 - (void)clearAllFields:(TestAllTypes *)message; 56 - (void)setAllExtensions:(TestAllExtensions *)message 57 repeatedCount:(uint32_t)count; 58 - (void)setPackedFields:(TestPackedTypes *)message 59 repeatedCount:(uint32_t)count; 60 - (void)setUnpackedFields:(TestUnpackedTypes *)message 61 repeatedCount:(uint32_t)count; 62 - (void)setPackedExtensions:(TestPackedExtensions *)message 63 repeatedCount:(uint32_t)count; 64 - (void)setUnpackedExtensions:(TestUnpackedExtensions *)message 65 repeatedCount:(uint32_t)count; 66 - (void)setAllMapFields:(TestMap *)message numEntries:(uint32_t)count; 67 68 - (TestAllTypes *)allSetRepeatedCount:(uint32_t)count; 69 - (TestAllExtensions *)allExtensionsSetRepeatedCount:(uint32_t)count; 70 - (TestPackedTypes *)packedSetRepeatedCount:(uint32_t)count; 71 - (TestPackedExtensions *)packedExtensionsSetRepeatedCount:(uint32_t)count; 72 73 - (void)assertAllFieldsSet:(TestAllTypes *)message 74 repeatedCount:(uint32_t)count; 75 - (void)assertAllExtensionsSet:(TestAllExtensions *)message 76 repeatedCount:(uint32_t)count; 77 - (void)assertRepeatedFieldsModified:(TestAllTypes *)message 78 repeatedCount:(uint32_t)count; 79 - (void)assertRepeatedExtensionsModified:(TestAllExtensions *)message 80 repeatedCount:(uint32_t)count; 81 - (void)assertExtensionsClear:(TestAllExtensions *)message; 82 - (void)assertClear:(TestAllTypes *)message; 83 - (void)assertPackedFieldsSet:(TestPackedTypes *)message 84 repeatedCount:(uint32_t)count; 85 - (void)assertPackedExtensionsSet:(TestPackedExtensions *)message 86 repeatedCount:(uint32_t)count; 87 88 - (void)modifyRepeatedExtensions:(TestAllExtensions *)message; 89 - (void)modifyRepeatedFields:(TestAllTypes *)message; 90 91 - (GPBExtensionRegistry *)extensionRegistry; 92 93 - (NSData *)getDataFileNamed:(NSString *)name dataToWrite:(NSData *)dataToWrite; 94 95 - (void)assertAllFieldsKVCMatch:(TestAllTypes *)message; 96 - (void)setAllFieldsViaKVC:(TestAllTypes *)message 97 repeatedCount:(uint32_t)count; 98 - (void)assertClearKVC:(TestAllTypes *)message; 99 100 @end 101