private void AssertOption <T>(T expected, OptionFetcher <T> fetcher, CustomOptionNumber field) { T actual; Assert.IsTrue(fetcher((int)field, out actual)); Assert.AreEqual(expected, actual); }
private void AssertOption <T, D>(T expected, OptionFetcher <T> fetcher, Extension <D, T> extension, Func <Extension <D, T>, T> descriptorOptionFetcher) where D : IExtendableMessage <D> { T customOptionsValue; T extensionValue = descriptorOptionFetcher(extension); Assert.IsTrue(fetcher(extension.FieldNumber, out customOptionsValue)); Assert.AreEqual(expected, customOptionsValue); Assert.AreEqual(expected, extensionValue); }
private void AssertOption <T, D>(T expected, OptionFetcher <T> customOptionFetcher, Extension <D, T> extension, Func <Extension <D, T>, T> getOptionFetcher, Func <Extension <D, T>, T> extensionFetcher) where D : IExtendableMessage <D> { Assert.IsTrue(customOptionFetcher(extension.FieldNumber, out T customOptionsValue)); Assert.AreEqual(expected, customOptionsValue); T getOptionValue = getOptionFetcher(extension); Assert.AreEqual(expected, getOptionValue); T extensionValue = extensionFetcher(extension); Assert.AreEqual(expected, extensionValue); }