init
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using TrainingPlanner.Application;
|
||||
using TrainingPlanner.Domain;
|
||||
|
||||
namespace TrainingPlanner.Tests;
|
||||
|
||||
public class ExerciseSearchTests
|
||||
{
|
||||
[Fact]
|
||||
public void ExactAndPrefixMatchesComeBeforeMatchesInsideName()
|
||||
{
|
||||
var exercises = Names("Обратный жим", "Жим гантелей", "Жим", "Приседания");
|
||||
var result = ExerciseSearch.Find(exercises, " ЖИМ ");
|
||||
Assert.Equal(new[] { "Жим", "Жим гантелей", "Обратный жим" }, result.Select(exercise => exercise.Name));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AllWordsMustMatchIgnoringTheirOrderAndYoSpelling()
|
||||
{
|
||||
var result = ExerciseSearch.Find(Names("Жим гантелей лёжа", "Жим штанги лёжа", "Жим гантелей стоя"), "ЛЕЖА гант");
|
||||
Assert.Single(result);
|
||||
Assert.Equal("Жим гантелей лёжа", result[0].Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EmptyQueryReturnsAllExercisesAndUnknownQueryReturnsNone()
|
||||
{
|
||||
var exercises = Names("Тяга", "Жим");
|
||||
Assert.Equal(2, ExerciseSearch.Find(exercises, " ").Count);
|
||||
Assert.Empty(ExerciseSearch.Find(exercises, "Приседания"));
|
||||
}
|
||||
|
||||
private static List<LibraryExercise> Names(params string[] names)
|
||||
=> names.Select(name => new LibraryExercise { Name = name }).ToList();
|
||||
}
|
||||
Reference in New Issue
Block a user