|
|
|
@ -0,0 +1,96 @@
|
|
|
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace Notus_UnitTest
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
|
|
|
|
public class UserSearchTests
|
|
|
|
|
{
|
|
|
|
|
private UserSearch userSearch;
|
|
|
|
|
|
|
|
|
|
[SetUp]
|
|
|
|
|
public void Setup()
|
|
|
|
|
{
|
|
|
|
|
// Initialize the class under test
|
|
|
|
|
userSearch = new UserSearch();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void SearchUser_EmptyUserList_ReturnsEmptyList()
|
|
|
|
|
{
|
|
|
|
|
// Arrange
|
|
|
|
|
List<User> userList = new List<User>();
|
|
|
|
|
userSearch.SetUserList(userList);
|
|
|
|
|
string searchName = "John";
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
List<User> result = userSearch.SearchUser(searchName);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.IsEmpty(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void SearchUser_MatchingUsername_ReturnsMatchingUser()
|
|
|
|
|
{
|
|
|
|
|
// Arrange
|
|
|
|
|
List<User> userList = new List<User>()
|
|
|
|
|
{
|
|
|
|
|
new User("John"),
|
|
|
|
|
new User("Jane"),
|
|
|
|
|
new User("Robert")
|
|
|
|
|
};
|
|
|
|
|
userSearch.SetUserList(userList);
|
|
|
|
|
string searchName = "Jane";
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
List<User> result = userSearch.SearchUser(searchName);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.AreEqual(1, result.Count);
|
|
|
|
|
Assert.AreEqual("Jane", result[0].GetUsername());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void SearchUser_NoMatchingUsername_ReturnsEmptyList()
|
|
|
|
|
{
|
|
|
|
|
// Arrange
|
|
|
|
|
List<User> userList = new List<User>()
|
|
|
|
|
{
|
|
|
|
|
new User("John"),
|
|
|
|
|
new User("Jane"),
|
|
|
|
|
new User("Robert")
|
|
|
|
|
};
|
|
|
|
|
userSearch.SetUserList(userList);
|
|
|
|
|
string searchName = "Alice";
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
List<User> result = userSearch.SearchUser(searchName);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.IsEmpty(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void SearchUser_PartiallyMatchingUsername_ReturnsMatchingUsers()
|
|
|
|
|
{
|
|
|
|
|
// Arrange
|
|
|
|
|
List<User> userList = new List<User>()
|
|
|
|
|
{
|
|
|
|
|
new User("John Doe"),
|
|
|
|
|
new User("Jane Smith"),
|
|
|
|
|
new User("Robert Johnson")
|
|
|
|
|
};
|
|
|
|
|
userSearch.SetUserList(userList);
|
|
|
|
|
string searchName = "Jo";
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
List<User> result = userSearch.SearchUser(searchName);
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
Assert.AreEqual(2, result.Count);
|
|
|
|
|
Assert.AreEqual("John Doe", result[0].GetUsername());
|
|
|
|
|
Assert.AreEqual("Robert Johnson", result[1].GetUsername());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|