IPropertyBagDataExtensions
Extensions to IPropertyBag.
using NUnit.Framework.Interfaces;
using System;
using System.Runtime.CompilerServices;
namespace NUnit.Framework.Internal.Extensions
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
internal static class IPropertyBagDataExtensions
{
internal static void AddIgnoreUntilReason(this IPropertyBag properties, DateTimeOffset untilDate, [System.Runtime.CompilerServices.Nullable(2)] string reason)
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler;
object text;
if (reason != null) {
defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 2);
defaultInterpolatedStringHandler.AppendLiteral("Ignoring until ");
defaultInterpolatedStringHandler.AppendFormatted(untilDate, "u");
defaultInterpolatedStringHandler.AppendLiteral(". ");
defaultInterpolatedStringHandler.AppendFormatted(reason);
text = defaultInterpolatedStringHandler.ToStringAndClear();
} else {
defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 1);
defaultInterpolatedStringHandler.AppendLiteral("Ignoring until ");
defaultInterpolatedStringHandler.AppendFormatted(untilDate, "u");
defaultInterpolatedStringHandler.AppendLiteral(".");
text = defaultInterpolatedStringHandler.ToStringAndClear();
}
string value = (string)text;
properties.Set("_SKIPREASON", value);
}
internal static T TryGet<[System.Runtime.CompilerServices.Nullable(2)] T>(this IPropertyBag properties, string key, T defaultValue)
{
object obj = properties.Get(key);
if (obj != null)
return (T)obj;
return defaultValue;
}
}
}