You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Zero/Tests/ZeroLevel.UnitTests/SemanticTests.cs

42 lines
2.2 KiB

5 years ago
using System.Linq;
5 years ago
using Xunit;
using ZeroLevel.Services.Semantic;
5 years ago
namespace ZeroLevel.Semantic
5 years ago
{
public class SemanticTests
{
[Fact]
public void WordTokenizerTest()
{
// Arrange
var line = "Хорошее понимание проекций, отражений и векторных операций (как в истинном значении скалярного (dot) и векторного (cross) произведений векторов) обычно приходит с растущим чувством беспокойства при использованием тригонометрии. ";
var test = new string[] {
"хорошее", "понимание", "проекций", "отражений", "и"
, "векторных", "операций", "как", "в", "истинном"
, "значении", "скалярного","dot","и","векторного","cross","произведений"
,"векторов","обычно","приходит","с","растущим","чувством","беспокойства"
,"при","использованием", "тригонометрии"};
// Act
var terms = WordTokenizer.Tokenize(line).ToArray();
// Assert
Assert.True(test.Length == terms.Length);
for (int i = 0; i < terms.Length; i++)
{
Assert.True(string.CompareOrdinal(test[i], terms[i]) == 0);
}
5 years ago
Assert.False(WordTokenizer.Tokenize(string.Empty).Any());
Assert.False(WordTokenizer.Tokenize(null).Any());
Assert.False(WordTokenizer.Tokenize(" ").Any());
Assert.False(WordTokenizer.Tokenize(" ").Any());
Assert.False(WordTokenizer.Tokenize(" 1 ").Any());
Assert.False(WordTokenizer.Tokenize("1 1").Any());
Assert.False(WordTokenizer.Tokenize(" 1 1 ").Any());
// Assert.False(WordTokenizer.Tokenize(" 12aa 1a3 ").Any());
// Assert.False(WordTokenizer.Tokenize(" __a1 _a1 ").Any());
5 years ago
}
}
}

Powered by TurnKey Linux.