懒得勤快 2 năm trước cách đây
mục cha
commit
81bbb05623

+ 14 - 0
BenchmarkTest/BenchmarkTest.csproj

@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>net7.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="BenchmarkDotNet" Version="0.13.5" />
+  </ItemGroup>
+
+</Project>

+ 9 - 0
BenchmarkTest/Program.cs

@@ -0,0 +1,9 @@
+using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Running;
+
+BenchmarkRunner.Run<TestClass>();
+
+[MemoryDiagnoser]
+public class TestClass
+{
+}

+ 7 - 1
Masuit.Tools.sln

@@ -27,7 +27,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Masuit.Tools.Net45", "Masui
 EndProject
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Masuit.Tools.AspNetCore", "Masuit.Tools.AspNetCore\Masuit.Tools.AspNetCore.csproj", "{73BA93B7-C6AE-4B39-892E-3596D91BF96C}"
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Masuit.Tools.AspNetCore", "Masuit.Tools.AspNetCore\Masuit.Tools.AspNetCore.csproj", "{73BA93B7-C6AE-4B39-892E-3596D91BF96C}"
 EndProject
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetCoreTest", "NetCoreTest\NetCoreTest.csproj", "{144D7A0C-002D-48E4-8814-EA14011CFFFC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCoreTest", "NetCoreTest\NetCoreTest.csproj", "{144D7A0C-002D-48E4-8814-EA14011CFFFC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BenchmarkTest", "BenchmarkTest\BenchmarkTest.csproj", "{0599ACF0-8495-4E72-AB5E-B7446A5C413A}"
 EndProject
 EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -83,6 +85,10 @@ Global
 		{144D7A0C-002D-48E4-8814-EA14011CFFFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{144D7A0C-002D-48E4-8814-EA14011CFFFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{144D7A0C-002D-48E4-8814-EA14011CFFFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{144D7A0C-002D-48E4-8814-EA14011CFFFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{144D7A0C-002D-48E4-8814-EA14011CFFFC}.Release|Any CPU.Build.0 = Release|Any CPU
 		{144D7A0C-002D-48E4-8814-EA14011CFFFC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0599ACF0-8495-4E72-AB5E-B7446A5C413A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0599ACF0-8495-4E72-AB5E-B7446A5C413A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0599ACF0-8495-4E72-AB5E-B7446A5C413A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0599ACF0-8495-4E72-AB5E-B7446A5C413A}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE

+ 33 - 0
Test/Masuit.Tools.Abstractions.Test/Strings/NumberFormaterTest.cs

@@ -0,0 +1,33 @@
+using Masuit.Tools.Strings;
+using Xunit;
+
+namespace Masuit.Tools.Abstractions.Test.Strings;
+
+public class NumberFormaterTest
+{
+    [Fact]
+    public void Can_ToBase36()
+    {
+        // arrange
+        var formater = new NumberFormater(36);
+
+        // act
+        var s = formater.ToString(12345678);
+
+        // assert
+        Assert.Equal(s, "7clzi");
+    }
+
+    [Fact]
+    public void Can_FromBase36()
+    {
+        // arrange
+        var formater = new NumberFormater(36);
+
+        // act
+        var num = formater.FromString("7clzi");
+
+        // assert
+        Assert.Equal(num, 12345678);
+    }
+}