我有一个问题,也没有问题。
启动程序并输入例如“很抱歉我看见了爱神”,它说这是回文,但在单元测试中没有。
最后一种方法IsSentencePalindrome也不说是真的(应该通过测试),我尝试使用LINQ Reverse,但是输出仍然相同。
[TestMethod]
public void IsUpperCasePalindrome()
{
var textA = "TOT".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsTrue(isPalindrome);
}
[TestMethod]
public void IsNotPalindrome()
{
var textA = "Example".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsFalse(isPalindrome);
}
[TestMethod]
public void IsUpperLowerCasePalindrome()
{
var textA = "eXaMplE".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsFalse(isPalindrome);
}
[TestMethod]
public void IsSpecialCharachterPalindrome()
{
var textA = "A$AP".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsFalse(isPalindrome);
}
[TestMethod]
public void IsLowerCasePalindrome()
{
var textA = "radar".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsTrue(isPalindrome);
}
[TestMethod]
public void IsDoubleWordPalindrome()
{
var textA = "radarradar".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsTrue(isPalindrome);
}
[TestMethod]
public void IsSentencePalindrome()
{
var textA = "Sore was I ere I saw Eros.".ToCharArray();
var textB = textA.Reverse();
bool isPalindrome = textA.SequenceEqual(textB);
Assert.IsTrue(isPalindrome);
}
我希望输出通过7个测试,但是实际输出是6个测试通过了,而1个失败,即最后一个测试(IsSentencePalindrome)。
答案 0 :(得分:1)
Sore was I ere I saw Eros.
不是回文,因为:
Sore Eros
不是(区分大小写)回文- Sore eroS
是