public void RequiredFieldsInExtensions() { var message = new TestAllExtensions(); Assert.True(message.IsInitialized()); message.SetExtension(TestRequired.Extensions.Single, new TestRequired()); Assert.False(message.IsInitialized()); var extensionMessage = message.GetExtension(TestRequired.Extensions.Single); extensionMessage.A = 1; extensionMessage.B = 2; extensionMessage.C = 3; Assert.True(message.IsInitialized()); message.GetOrInitializeExtension(TestRequired.Extensions.Multi); Assert.True(message.IsInitialized()); message.GetExtension(TestRequired.Extensions.Multi).Add(new TestRequired()); Assert.False(message.IsInitialized()); extensionMessage = message.GetExtension(TestRequired.Extensions.Multi)[0]; extensionMessage.A = 1; extensionMessage.B = 2; extensionMessage.C = 3; Assert.True(message.IsInitialized()); message.SetExtension(UnittestExtensions.OptionalBoolExtension, true); Assert.True(message.IsInitialized()); message.GetOrInitializeExtension(UnittestExtensions.RepeatedBoolExtension).Add(true); Assert.True(message.IsInitialized()); }