/// <summary>Gets column provider for the metric values.</summary> /// <param name="metric">The metric to get columns for.</param> /// <param name="columns">The columns to include.</param> /// <returns>Column provider for the metric values</returns> public IColumnProvider GetColumnProvider(MetricInfo metric, MetricValueColumns columns) { Code.NotNull(metric, nameof(metric)); EnumCode.FlagsDefined(columns, nameof(columns)); Code.AssertArgument( metric.ValuesProvider == this, nameof(metric), "Passed ValuesProvider does not match to this one."); return(GetColumnProviderOverride(metric, columns)); }
public void TestFlagsDefined() { var allDefinedFlags = EnumHelper.GetFlagsMask <BindingFlags>(); // ReSharper disable once RedundantCast var allFlags = (BindingFlags)(int)-1; var ex = Assert.Throws <ArgumentOutOfRangeException>(() => EnumCode.FlagsDefined(allFlags, "arg00")); Assert.That(ex.Message, Does.Contain("arg00")); Assert.That(ex.Message, Does.Contain("Unexpected value")); Assert.Throws <ArgumentOutOfRangeException>( () => EnumCode.Defined(allDefinedFlags, "arg00")); Assert.DoesNotThrow( () => EnumCode.FlagsDefined(allDefinedFlags, "arg00")); }