Anthony RICHARD 2 years ago
commit 084209e25b

@ -23,7 +23,7 @@ namespace Model
} }
} }
} }
private string name; private string name = default!;
[DataMember] [DataMember]
public string Description public string Description
@ -39,7 +39,7 @@ namespace Model
} }
} }
} }
private string description; private string description = default!;
[DataMember] [DataMember]
public int Year public int Year
@ -55,7 +55,7 @@ namespace Model
} }
} }
} }
private int year; private int year = default!;
[DataMember] [DataMember]
public string Cover public string Cover
@ -71,7 +71,7 @@ namespace Model
} }
} }
} }
private string cover; private string cover = default!;
[DataMember] [DataMember]
public ObservableCollection<string> Tags public ObservableCollection<string> Tags
@ -112,7 +112,7 @@ namespace Model
} }
} }
} }
private string lien; private string lien = default!;
public Game(string name, string description, int year, List<string> c_tags, string cover, string c_lien) public Game(string name, string description, int year, List<string> c_tags, string cover, string c_lien)
{ {

@ -1,4 +1,5 @@
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
namespace Model namespace Model
@ -24,13 +25,13 @@ namespace Model
IEnumerable<Game> retList; IEnumerable<Game> retList;
retList = GameList; retList = GameList;
if (filterName != null) retList = retList if (filterName != null) retList = retList
.Where(game => game.Name.IndexOf(filterName, StringComparison.OrdinalIgnoreCase) >= 0 .Where(game => game.Name.Contains(filterName, StringComparison.OrdinalIgnoreCase)
); );
if (filterTag1 != null) retList = retList if (filterTag1 != null) retList = retList
.Where(game => game.Tags != null && game.Tags.Any(tag => tag != null && tag.IndexOf(filterTag1, StringComparison.OrdinalIgnoreCase) >= 0) .Where(game => game.Tags != null && game.Tags.Any(tag => tag != null && tag.Contains(filterTag1, StringComparison.OrdinalIgnoreCase))
); );
if (filterTag2 != null) retList = retList if (filterTag2 != null) retList = retList
.Where(game => game.Tags != null && game.Tags.Any(tag => tag != null && tag.IndexOf(filterTag2, StringComparison.OrdinalIgnoreCase) >= 0) .Where(game => game.Tags != null && game.Tags.Any(tag => tag != null && tag.Contains(filterTag2, StringComparison.OrdinalIgnoreCase))
); );
return retList; return retList;
} }
@ -51,7 +52,7 @@ namespace Model
gameList.Remove(game); gameList.Remove(game);
mgrpersistance.SaveGame(gameList); mgrpersistance.SaveGame(gameList);
} }
[ExcludeFromCodeCoverage]
public void SaveGames() public void SaveGames()
{ {
mgrpersistance.SaveGame(gameList); mgrpersistance.SaveGame(gameList);
@ -64,6 +65,7 @@ namespace Model
} }
return null; return null;
} }
[ExcludeFromCodeCoverage]
public void SaveUser() public void SaveUser()
{ {
mgrpersistance.SaveUser(Users); mgrpersistance.SaveUser(Users);

@ -10,6 +10,17 @@ namespace Model
[DataContract] [DataContract]
public sealed class User : INotifyPropertyChanged , IEquatable<User> public sealed class User : INotifyPropertyChanged , IEquatable<User>
{ {
[DataMember]
public string UserImage
{
get => userImage;
private set
{
if (!string.IsNullOrWhiteSpace(value)) userImage = value;
else userImage = "no_cover.png";
}
}
private string userImage = default!;
[DataMember] [DataMember]
public string? Username public string? Username
{ {
@ -24,11 +35,11 @@ namespace Model
} }
} }
} }
private string username; private string username=default!;
[DataMember] [DataMember]
public string Biographie public string Biographie
{ {
get => biographie ?? "Pas de biographie"; get => biographie;
private set private set
{ {
if (string.IsNullOrWhiteSpace(value)) biographie = "Pas de biographie"; if (string.IsNullOrWhiteSpace(value)) biographie = "Pas de biographie";
@ -39,7 +50,7 @@ namespace Model
} }
} }
} }
private string biographie; private string biographie = default!;
[DataMember] [DataMember]
public string Email public string Email
{ {
@ -55,7 +66,7 @@ namespace Model
else email = "Default"; else email = "Default";
} }
} }
private string email; private string email = default!;
[DataMember] [DataMember]
public string Password public string Password
{ {
@ -71,7 +82,7 @@ namespace Model
} }
} }
} }
private string password; private string password = default!;
public event PropertyChangedEventHandler? PropertyChanged; public event PropertyChangedEventHandler? PropertyChanged;
@ -89,17 +100,6 @@ namespace Model
get; get;
private init; private init;
} }
[DataMember]
public string? UserImage
{
get => userImage;
private set
{
if (!string.IsNullOrWhiteSpace(value)) userImage = value;
else userImage = "no_cover.png";
}
}
private string? userImage;
public User(string userImage,string username, string biographie, string email, string password) public User(string userImage,string username, string biographie, string email, string password)
{ {
@ -111,7 +111,7 @@ namespace Model
else Biographie = biographie; else Biographie = biographie;
if (email == null) Email = "Default"; if (email == null) Email = "Default";
else Email = email; else Email = email;
if (password == null) throw new ArgumentNullException("password"); if (password == null) throw new ArgumentNullException(nameof(password));
else Password = password; else Password = password;
Followed_Games = new ObservableCollection<Game>(); Followed_Games = new ObservableCollection<Game>();
} }

@ -7,16 +7,11 @@ namespace StimStub
[ExcludeFromCodeCoverage] [ExcludeFromCodeCoverage]
public class Stub : IPersistance public class Stub : IPersistance
{ {
public List<Game> Games public List<Game> Games { get; set; }
{
get { return games; }
set { games = value; }
}
private List<Game> games;
public Stub() public Stub()
{ {
Games = LoadGame(); Games = LoadGame() ?? new();
} }
public void SaveGame(List<Game> games) public void SaveGame(List<Game> games)

@ -121,7 +121,8 @@ namespace Test
compListAsList = compList.ToList(); compListAsList = compList.ToList();
compListAsList.Clear(); compListAsList.Clear();
compList = compListAsList; list = manager.FilterGames("Elden Ring", "Action", "Solo"); compList = compListAsList;
list = manager.FilterGames("Elden Ring", "Action", "Solo");
foreach (var game in manager.GameList) foreach (var game in manager.GameList)
{ {
if (game.Name=="Elden Ring" && game.Tags.Any(tag => tag == "Action" && game.Tags.Any(tag => tag == "Solo"))) if (game.Name=="Elden Ring" && game.Tags.Any(tag => tag == "Action" && game.Tags.Any(tag => tag == "Solo")))
@ -133,6 +134,31 @@ namespace Test
} }
} }
Assert.Equal(compList, list); Assert.Equal(compList, list);
list = manager.FilterGames(null, "Action", "Solo");
compListAsList = compList.ToList();
compListAsList.Clear();
compList = compListAsList;
compList = compListAsList; list = manager.FilterGames("Elden Ring", "Action", null);
foreach (var game in manager.GameList)
{
if (game.Name == "Elden Ring" && game.Tags.Any(tag => tag == "Action"))
{
compListAsList = compList.ToList();
compListAsList.Add(game);
compList = compListAsList;
break;
}
}
Assert.Equal(compList, list);
}
[Fact]
public void Search()
{
IPersistance persistance = new Stub();
Manager manager = new(persistance);
User user = new(null, "username", "biographie", "adresse.mail@gmail.com", "Azerty123*");
manager.AddUsertoUserList(user);
Assert.Equal(user, manager.SearchUser("username"));
} }
} }
} }

@ -108,5 +108,10 @@ namespace Test
Assert.False(user.Equals(user4 as object)); Assert.False(user.Equals(user4 as object));
Assert.False(user.Equals(user2 as object)); Assert.False(user.Equals(user2 as object));
} }
[Fact]
public void Hashcode()
{
User user = new("userimage", "username", "biographie", "adresse.mail@gmail.com", "Azerty123*");
}
} }
} }

Loading…
Cancel
Save