我有一个我正在尝试测试的方法
public static string BySpace(string s, int position)
{
return s.Split()[position];
}
我有一个测试功能
[Theory]
[InlineData("a b c d")]
[InlineData(" a b c d")]
[InlineData("a b c d ")]
[InlineData("a b c d")]
[InlineData(" a b c d ")]
public void TestParseToList(string s)
{
Assert.Equal("a", Util.BySpace(s, 0));
Assert.Equal("b", Util.BySpace(s, 1));
Assert.Equal("c", Util.BySpace(s, 2));
Assert.Equal("d", Util.BySpace(s, 3));
}
一堆内联数据测试失败。可以看出我正在玩 Space & Tab。
期望的效果:取一个字符串并用任何空格分割它
请问我错过了什么?如何获取字符串并按空格拆分
我尝试了以下所有方法均无济于事
// return s.Split()[position];
// return s.Split(' ')[position];
// return s.Split("\\s+")[position]; <----- i had high hopes for this one
// return s.Split(null)[position];
// return s.Split(new char[0])[position];
creturn s.Split(new char[0], StringSplitOptions.RemoveEmptyEntries)[position]);