Skip to content

Commit

Permalink
test: 更新单元测试
Browse files Browse the repository at this point in the history
  • Loading branch information
ArgoZhang committed Jan 4, 2025
1 parent dd78b6e commit 2219556
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions test/UnitTest/Performance/CacheTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

using Microsoft.Extensions.Localization;
using System.Collections.Concurrent;
using System.Collections.Frozen;
using System.Diagnostics;

namespace UnitTest.Performance;
Expand Down Expand Up @@ -53,6 +54,35 @@ public void Cache_Ok()
IEnumerable<Foo> CacheMethod() => cache.GetOrAdd("test", key => NoCacheMethod());
}

[Fact]
public void List_Perf()
{
var listItms = GetListLocalizedStrings();
var setItems = GetSetLocalizedStrings();
var frozenItems = GetFrozenLocalizedStrings();

var sw = Stopwatch.StartNew();
listItms.FirstOrDefault(i => i.Name == "500000");
sw.Stop();
var sp1 = sw.Elapsed;

sw.Restart();
setItems.FirstOrDefault(i => i.Name == "500000");
sw.Stop();
var sp2 = sw.Elapsed;

sw.Restart();
frozenItems.FirstOrDefault(i => i.Name == "500000");
sw.Stop();
var sp3 = sw.Elapsed;
}

private IEnumerable<LocalizedString> GetListLocalizedStrings() => Enumerable.Range(1, 1000000).Select(i => new LocalizedString($"{i}", $"{i}", false, nameof(CacheTest)));

private IEnumerable<LocalizedString> GetSetLocalizedStrings() => Enumerable.Range(1, 1000000).Select(i => new LocalizedString($"{i}", $"{i}", false, nameof(CacheTest))).ToHashSet();

private IEnumerable<LocalizedString> GetFrozenLocalizedStrings() => Enumerable.Range(1, 1000000).Select(i => new LocalizedString($"{i}", $"{i}", false, nameof(CacheTest))).ToFrozenSet();

private IEnumerable<Foo> NoCacheMethod() => Enumerable.Range(1, 80).Select(i => new Foo()
{
Id = i,
Expand Down

0 comments on commit 2219556

Please sign in to comment.