Added the ability to use an IEnumerable<T> when adding to a list, so you can do:
new Foo.Builder {
RepeatedValue = { x.Select(y) }
};
... a bit like LINQ to XML.
diff --git a/src/ProtocolBuffers.Test/GeneratedMessageTest.cs b/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
index 69c5ac3..3e4324f 100644
--- a/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
+++ b/src/ProtocolBuffers.Test/GeneratedMessageTest.cs
@@ -34,6 +34,7 @@
using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.TestProtos;
using NUnit.Framework;
+using Google.ProtocolBuffers.Collections;
namespace Google.ProtocolBuffers {
[TestFixture]
@@ -193,6 +194,22 @@
Assert.AreEqual(expectedMessage, message);
}
+ [Test]
+ public void SettingRepeatedValuesUsingRangeInCollectionInitializer() {
+ int[] values = { 1, 2, 3 };
+ TestAllTypes message = new TestAllTypes.Builder {
+ RepeatedSint32List = { values }
+ }.Build();
+ Assert.IsTrue(Lists.Equals(values, message.RepeatedSint32List));
+ }
+
+ [Test]
+ public void SettingRepeatedValuesUsingIndividualValuesInCollectionInitializer() {
+ TestAllTypes message = new TestAllTypes.Builder {
+ RepeatedSint32List = { 6, 7 }
+ }.Build();
+ Assert.IsTrue(Lists.Equals(new int[] { 6, 7 }, message.RepeatedSint32List));
+ }
[Test]
public void Defaults() {