using System.Collections.Generic;
using System.Text;
using BenchmarkDotNet.Attributes;
namespace Util.Helpers {
///
/// 字符串操作性能测试
///
[MemoryDiagnoser]
public class StringBenchmark {
///
/// 测试值
///
private const string Value = "AbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefgAbcdefg";
///
/// 测试将集合连接为带分隔符的字符串
///
[Benchmark]
public void Join() {
Util.Helpers.String.Join( new List { 1, 2, 3 }, "'" );
}
///
/// 测试首字母小写
///
[Benchmark]
public void FirstLowerCase() {
Util.Helpers.String.FirstLowerCase( Value );
}
///
/// 测试首字母大写
///
[Benchmark]
public void FirstUpperCase() {
Util.Helpers.String.FirstUpperCase( Value );
}
///
/// 测试移除起始字符串
///
[Benchmark]
public void RemoveStart() {
Util.Helpers.String.RemoveStart( Value, "Ab" );
}
///
/// 测试移除末尾字符串
///
[Benchmark]
public void RemoveEnd() {
Util.Helpers.String.RemoveEnd( Value, "efg" );
}
///
/// 测试移除起始字符串
///
[Benchmark]
public void RemoveStart_StringBuilder() {
var value = new StringBuilder();
value.Append( Value );
Util.Helpers.String.RemoveStart( value, "Ab" );
}
///
/// 测试移除末尾字符串
///
[Benchmark]
public void RemoveEnd_StringBuilder() {
var value = new StringBuilder();
value.Append( Value );
Util.Helpers.String.RemoveEnd( value, "efg" );
}
}
}