mirror of
https://github.com/ldqk/Masuit.Tools.git
synced 2026-10-25 10:20:19 +08:00
60 lines
1.7 KiB
C#
60 lines
1.7 KiB
C#
using Masuit.Tools.Strings;
|
|
using Xunit;
|
|
|
|
namespace Masuit.Tools.UnitTest
|
|
{
|
|
public class NumberFormaterTest
|
|
{
|
|
[Theory]
|
|
[InlineData(2, 16, "10000")]
|
|
[InlineData(8, 8, "10")]
|
|
[InlineData(16, 16, "10")]
|
|
[InlineData(36, 36, "10")]
|
|
[InlineData(62, 62, "10")]
|
|
public void Can_ConvertOct2AnySystem(int bin, long input, string expectOutput)
|
|
{
|
|
var nf = new NumberFormater(bin);
|
|
string output = nf.ToString(input);
|
|
Assert.Equal(expectOutput, output);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(2, "10000", 16)]
|
|
[InlineData(8, "10", 8)]
|
|
[InlineData(16, "10", 16)]
|
|
[InlineData(36, "10", 36)]
|
|
[InlineData(62, "10", 62)]
|
|
public void Can_ConvertAnySystem2Oct(int bin, string input, long expected)
|
|
{
|
|
var nf = new NumberFormater(bin);
|
|
string output = nf.ToString(expected);
|
|
Assert.Equal(input, output);
|
|
}
|
|
|
|
[Fact]
|
|
public void Can_ConvertAnyNum2Chinese()
|
|
{
|
|
// arrange
|
|
double num = 1234567809.321;
|
|
|
|
// act
|
|
var chineseNumber = NumberFormater.ToChineseNumber(num);
|
|
|
|
// assert
|
|
Assert.Equal("十二亿三千四百五十六万七千八百零九点三二一", chineseNumber);
|
|
}
|
|
|
|
[Fact]
|
|
public void Can_ConvertAnyNum2ChineseMoney()
|
|
{
|
|
// arrange
|
|
double num = 123456789.321;
|
|
|
|
// act
|
|
var chineseNumber = NumberFormater.ToChineseMoney(num);
|
|
|
|
// assert
|
|
Assert.Equal("壹億贰仟叁佰肆拾伍萬陆仟柒佰捌拾玖元叁角贰分", chineseNumber);
|
|
}
|
|
}
|
|
} |