Files
Masuit.Tools/Masuit.Tools.UnitTest/NumberFormaterTest.cs
T
2019-10-29 12:47:04 +08:00

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);
}
}
}