Ejemplo n.º 1
0
 /// <summary>
 /// Verifies that the reflection repeated setters for the given Builder object throw an
 /// ArgumentNullException if they are passed a null value.
 /// </summary>
 public void AssertReflectionRepeatedSettersRejectNull(IBuilder builder)
 {
     builder.WeakAddRepeatedField(f("repeated_string"), "one");
     Assert.Throws<ArgumentNullException>(() => builder.SetRepeatedField(f("repeated_string"), 0, null));
     builder.WeakAddRepeatedField(f("repeated_bytes"), TestUtil.ToBytes("one"));
     Assert.Throws<ArgumentNullException>(() => builder.SetRepeatedField(f("repeated_bytes"), 0, null));
     builder.WeakAddRepeatedField(f("repeated_nested_enum"), nestedBaz);
     Assert.Throws<ArgumentNullException>(() => builder.SetRepeatedField(f("repeated_nested_enum"), 0, null));
     builder.WeakAddRepeatedField(f("repeated_nested_message"),
                                  new TestAllTypes.Types.NestedMessage.Builder {Bb = 218}.Build());
     Assert.Throws<ArgumentNullException>(() => builder.SetRepeatedField(f("repeated_nested_message"), 0, null));
 }
Ejemplo n.º 2
0
        // -------------------------------------------------------------------

        /// <summary>
        /// Modify the repeated fields of the specified message to contain the
        /// values expected by AssertRepeatedFieldsModified, using the IBuilder
        /// reflection interface.
        /// </summary>
        internal void ModifyRepeatedFieldsViaReflection(IBuilder message)
        {
            message[f("repeated_int32"), 1] = 501;
            message[f("repeated_int64"), 1] = 502L;
            message[f("repeated_uint32"), 1] = 503U;
            message[f("repeated_uint64"), 1] = 504UL;
            message[f("repeated_sint32"), 1] = 505;
            message[f("repeated_sint64"), 1] = 506L;
            message[f("repeated_fixed32"), 1] = 507U;
            message[f("repeated_fixed64"), 1] = 508UL;
            message[f("repeated_sfixed32"), 1] = 509;
            message[f("repeated_sfixed64"), 1] = 510L;
            message[f("repeated_float"), 1] = 511F;
            message[f("repeated_double"), 1] = 512D;
            message[f("repeated_bool"), 1] = true;
            message[f("repeated_string"), 1] = "515";
            message.SetRepeatedField(f("repeated_bytes"), 1, TestUtil.ToBytes("516"));

            message.SetRepeatedField(f("repeatedgroup"), 1,
                                     CreateBuilderForField(message, f("repeatedgroup")).SetField(repeatedGroupA, 517).
                                         WeakBuild());
            message.SetRepeatedField(f("repeated_nested_message"), 1,
                                     CreateBuilderForField(message, f("repeated_nested_message")).SetField(nestedB, 518)
                                         .WeakBuild());
            message.SetRepeatedField(f("repeated_foreign_message"), 1,
                                     CreateBuilderForField(message, f("repeated_foreign_message")).SetField(foreignC,
                                                                                                            519).
                                         WeakBuild());
            message.SetRepeatedField(f("repeated_import_message"), 1,
                                     CreateBuilderForField(message, f("repeated_import_message")).SetField(importD, 520)
                                         .WeakBuild());

            message[f("repeated_nested_enum"), 1] = nestedFoo;
            message[f("repeated_foreign_enum"), 1] = foreignFoo;
            message[f("repeated_import_enum"), 1] = importFoo;

            message[f("repeated_string_piece"), 1] = "524";
            message[f("repeated_cord"), 1] = "525";
        }