/// <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)); }
// ------------------------------------------------------------------- /// <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"; }