using System.Text;
using BenchmarkDotNet.Attributes;
using Tui = Terminal.Gui;
namespace Terminal.Gui.Benchmarks.Text.RuneExtensions;
///
/// Benchmarks for performance fine-tuning.
///
[MemoryDiagnoser]
[BenchmarkCategory (nameof (Tui.RuneExtensions))]
public class EncodeSurrogatePair
{
///
/// Benchmark for current implementation.
///
[Benchmark (Baseline = true)]
[ArgumentsSource (nameof (DataSource))]
public Rune Current (char highSurrogate, char lowSurrogate)
{
_ = Tui.RuneExtensions.EncodeSurrogatePair (highSurrogate, lowSurrogate, out Rune rune);
return rune;
}
public static IEnumerable