🧪 Add somes tests

WORK-KMO2
Antoine PEREDERII 1 year ago
parent baa93b4dbc
commit c60e18eec9

@ -162,5 +162,58 @@ namespace UnitTestsModel
Assert.Equal(heartRates, activity.HeartRates); Assert.Equal(heartRates, activity.HeartRates);
} }
[Fact]
public void Constructor_SetsPropertiesCorrectly2()
{
var id = 1;
var type = "Running";
var date = DateTime.Now;
var startTime = date.AddHours(1);
var endTime = date.AddHours(2);
var effort = 3;
var variability = 0.5f;
var variance = 0.3f;
var standardDeviation = 0.2f;
var average = 150f;
var maximum = 180;
var minimum = 120;
var averageTemperature = 25.5f;
var hasAutoPause = false;
var user = new User();
var activity = new Activity(
id,
type,
date,
startTime,
endTime,
effort,
variability,
variance,
standardDeviation,
average,
maximum,
minimum,
averageTemperature,
hasAutoPause,
user
);
Assert.Equal(id, activity.Id);
Assert.Equal(type, activity.Type);
Assert.Equal(date, activity.Date);
Assert.Equal(startTime, activity.StartTime);
Assert.Equal(endTime, activity.EndTime);
Assert.Equal(effort, activity.Effort);
Assert.Equal(variability, activity.Variability);
Assert.Equal(variance, activity.Variance);
Assert.Equal(standardDeviation, activity.StandardDeviation);
Assert.Equal(average, activity.Average);
Assert.Equal(maximum, activity.Maximum);
Assert.Equal(minimum, activity.Minimum);
Assert.Equal(averageTemperature, activity.AverageTemperature);
Assert.Equal(hasAutoPause, activity.HasAutoPause);
Assert.Equal(user, activity.Athlete);
}
} }
} }

@ -8,27 +8,22 @@ namespace Model.Tests
[Fact] [Fact]
public void CheckAdd_ValidUser_ReturnsTrue() public void CheckAdd_ValidUser_ReturnsTrue()
{ {
// Arrange
var athlete = new Athlete(); var athlete = new Athlete();
// Act
var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "Male", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Athlete()); var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "Male", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Athlete());
var result = athlete.CheckAdd(user); var result = athlete.CheckAdd(user);
// Assert
Assert.True(result); Assert.True(result);
} }
[Fact] [Fact]
public void CheckAdd_CoachUser_ReturnsFalse() public void CheckAdd_CoachUser_ReturnsFalse()
{ {
// Arrange
var athlete = new Athlete(); var athlete = new Athlete();
var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "Male", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Coach()); var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "Male", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Coach());
var result = athlete.CheckAdd(user); var result = athlete.CheckAdd(user);
// Assert
Assert.False(result); Assert.False(result);
} }
} }

@ -8,28 +8,22 @@ namespace Model.Tests
[Fact] [Fact]
public void CheckAdd_AthleteUser_ReturnsTrue() public void CheckAdd_AthleteUser_ReturnsTrue()
{ {
// Arrange
var coach = new Coach(); var coach = new Coach();
// Act
var user = new User { Role = new Athlete() }; var user = new User { Role = new Athlete() };
var result = coach.CheckAdd(user); var result = coach.CheckAdd(user);
// Assert
Assert.True(result); Assert.True(result);
} }
[Fact] [Fact]
public void CheckAdd_NonAthleteUser_ReturnsFalse() public void CheckAdd_NonAthleteUser_ReturnsFalse()
{ {
// Arrange
var coach = new Coach(); var coach = new Coach();
// Act
var user = new User { Role = new Coach() }; var user = new User { Role = new Coach() };
var result = coach.CheckAdd(user); var result = coach.CheckAdd(user);
// Assert
Assert.False(result); Assert.False(result);
} }
} }

@ -9,7 +9,6 @@ namespace Model.Tests
[Fact] [Fact]
public void Constructor_WithArguments_InitializesProperties() public void Constructor_WithArguments_InitializesProperties()
{ {
// Arrange
var id = 1; var id = 1;
var type = "Type"; var type = "Type";
var model = "Model"; var model = "Model";
@ -17,10 +16,8 @@ namespace Model.Tests
var athletes = new List<User>(); var athletes = new List<User>();
var activities = new List<Activity>(); var activities = new List<Activity>();
// Act
var dataSource = new DataSource(id, type, model, precision, athletes, activities); var dataSource = new DataSource(id, type, model, precision, athletes, activities);
// Assert
Assert.Equal(id, dataSource.Id); Assert.Equal(id, dataSource.Id);
Assert.Equal(type, dataSource.Type); Assert.Equal(type, dataSource.Type);
Assert.Equal(model, dataSource.Model); Assert.Equal(model, dataSource.Model);

@ -0,0 +1,32 @@
using Model;
using Model.Repository;
using Moq;
using Xunit;
namespace UnitTestsModel
{
public class EnumMapperTests
{
[Theory]
[InlineData("None", Shared.AthleteOrderCriteria.None)]
[InlineData("ByUsername", Shared.AthleteOrderCriteria.ByUsername)]
[InlineData("ByFirstName", Shared.AthleteOrderCriteria.ByFirstName)]
[InlineData("ByLastName", Shared.AthleteOrderCriteria.ByLastName)]
[InlineData("BySexe", Shared.AthleteOrderCriteria.BySexe)]
[InlineData("ByLenght", Shared.AthleteOrderCriteria.ByLenght)]
[InlineData("ByWeight", Shared.AthleteOrderCriteria.ByWeight)]
[InlineData("ByDateOfBirth", Shared.AthleteOrderCriteria.ByDateOfBirth)]
[InlineData("ByEmail", Shared.AthleteOrderCriteria.ByEmail)]
[InlineData("ByIsCoach", Shared.AthleteOrderCriteria.ByIsCoach)]
[InlineData(null, Shared.AthleteOrderCriteria.None)]
[InlineData("InvalidValue", Shared.AthleteOrderCriteria.None)]
public void ToEnum_WithValidValue_ReturnsCorrectEnumValue(string? value, Shared.AthleteOrderCriteria expected)
{
var userRepositoryMock = new Mock<IUserRepository>();
var result = EnumMappeur.ToEnum(userRepositoryMock.Object, value);
Assert.Equal(expected, result);
}
}
}

@ -8,7 +8,7 @@ namespace Model.Tests
[Fact] [Fact]
public void HeartRate_Constructor_WithValidParameters() public void HeartRate_Constructor_WithValidParameters()
{ {
// Arrange
int id = 1; int id = 1;
int bpm = 80; int bpm = 80;
TimeOnly timestamp = new TimeOnly(12, 30, 0); TimeOnly timestamp = new TimeOnly(12, 30, 0);
@ -22,10 +22,8 @@ namespace Model.Tests
int? power = 200; int? power = 200;
double? temperature = 25.5; double? temperature = 25.5;
// Act
var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature); var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature);
// Assert
Assert.Equal(id, heartRate.Id); Assert.Equal(id, heartRate.Id);
Assert.Equal(bpm, heartRate.Bpm); Assert.Equal(bpm, heartRate.Bpm);
Assert.Equal(timestamp, heartRate.Timestamp); Assert.Equal(timestamp, heartRate.Timestamp);
@ -43,7 +41,6 @@ namespace Model.Tests
[Fact] [Fact]
public void HeartRate_ToString_ReturnsExpectedString() public void HeartRate_ToString_ReturnsExpectedString()
{ {
// Arrange
int id = 1; int id = 1;
int bpm = 80; int bpm = 80;
TimeOnly timestamp = new TimeOnly(12, 30, 0); TimeOnly timestamp = new TimeOnly(12, 30, 0);
@ -58,10 +55,8 @@ namespace Model.Tests
double? temperature = 25.5; double? temperature = 25.5;
var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature); var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature);
// Act
var result = heartRate.ToString(); var result = heartRate.ToString();
// Assert
Assert.Contains($"HeartRate #{id}", result); Assert.Contains($"HeartRate #{id}", result);
Assert.Contains($"{bpm} bpm", result); Assert.Contains($"{bpm} bpm", result);
Assert.Contains($"{timestamp:HH:mm:ss}", result); Assert.Contains($"{timestamp:HH:mm:ss}", result);

@ -7,31 +7,25 @@ namespace Model.Tests
[Fact] [Fact]
public void Equals_ReturnsTrue_WhenBase64StringsAreEqual() public void Equals_ReturnsTrue_WhenBase64StringsAreEqual()
{ {
// Arrange
var base64String = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw=="; var base64String = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw==";
var image1 = new LargeImage(base64String); var image1 = new LargeImage(base64String);
var image2 = new LargeImage(base64String); var image2 = new LargeImage(base64String);
// Act
var result = image1.Equals(image2); var result = image1.Equals(image2);
// Assert
Assert.True(result); Assert.True(result);
} }
[Fact] [Fact]
public void Equals_ReturnsFalse_WhenBase64StringsAreDifferent() public void Equals_ReturnsFalse_WhenBase64StringsAreDifferent()
{ {
// Arrange
var base64String1 = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw=="; var base64String1 = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw==";
var base64String2 = "VGhpcyBpcyBhIGJhc2U2NSBlbmNvZGVkIHN0cmluZw=="; var base64String2 = "VGhpcyBpcyBhIGJhc2U2NSBlbmNvZGVkIHN0cmluZw==";
var image1 = new LargeImage(base64String1); var image1 = new LargeImage(base64String1);
var image2 = new LargeImage(base64String2); var image2 = new LargeImage(base64String2);
// Act
var result = image1.Equals(image2); var result = image1.Equals(image2);
// Assert
Assert.False(result); Assert.False(result);
} }
} }

@ -7,7 +7,6 @@ namespace Model.Tests
[Fact] [Fact]
public void Constructor_InitializesPropertiesCorrectly() public void Constructor_InitializesPropertiesCorrectly()
{ {
// Arrange
int id = 1; int id = 1;
string message = "Test notification"; string message = "Test notification";
DateTime date = DateTime.Now; DateTime date = DateTime.Now;
@ -15,10 +14,8 @@ namespace Model.Tests
string urgency = "High"; string urgency = "High";
int toUserId = 10; int toUserId = 10;
// Act
var notification = new Notification(id, message, date, status, urgency, toUserId); var notification = new Notification(id, message, date, status, urgency, toUserId);
// Assert
Assert.Equal(id, notification.IdNotif); Assert.Equal(id, notification.IdNotif);
Assert.Equal(message, notification.Message); Assert.Equal(message, notification.Message);
Assert.Equal(date, notification.Date); Assert.Equal(date, notification.Date);

@ -7,12 +7,10 @@ namespace Model.Tests
[Fact] [Fact]
public void Constructor_InitializesPropertiesCorrectly() public void Constructor_InitializesPropertiesCorrectly()
{ {
// Arrange
int id = 1; int id = 1;
int fromUserId = 2; int fromUserId = 2;
int toUserId = 3; int toUserId = 3;
// Act
var request = new RelationshipRequest var request = new RelationshipRequest
{ {
Id = id, Id = id,
@ -20,7 +18,6 @@ namespace Model.Tests
ToUser = toUserId ToUser = toUserId
}; };
// Assert
Assert.Equal(id, request.Id); Assert.Equal(id, request.Id);
Assert.Equal(fromUserId, request.FromUser); Assert.Equal(fromUserId, request.FromUser);
Assert.Equal(toUserId, request.ToUser); Assert.Equal(toUserId, request.ToUser);

@ -7,28 +7,22 @@ namespace Model.Tests
[Fact] [Fact]
public void AddUser_WithValidUser_ReturnsTrue() public void AddUser_WithValidUser_ReturnsTrue()
{ {
// Arrange var role = new Athlete();
var role = new Athlete(); // Vous pouvez utiliser Athlete ou Coach selon votre besoin
var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "M", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Athlete()); var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "M", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Athlete());
// Act
bool result = role.AddUser(user); bool result = role.AddUser(user);
// Assert
Assert.True(result); Assert.True(result);
} }
[Fact] [Fact]
public void AddUser_WithInvalidUser_ReturnsFalse() public void AddUser_WithInvalidUser_ReturnsFalse()
{ {
// Arrange var role = new Athlete();
var role = new Athlete(); // Vous pouvez utiliser Athlete ou Coach selon votre besoin var user = new User();
var user = new User(); // Créez un objet User invalide
// Act
bool result = role.AddUser(user); bool result = role.AddUser(user);
// Assert
Assert.False(result); Assert.False(result);
} }

@ -11,6 +11,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
<PackageReference Include="Moq" Version="4.20.70" />
<PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

@ -7,7 +7,6 @@ namespace Model.Tests
[Fact] [Fact]
public void UserConstructor_ValidParameters_ConstructsObject() public void UserConstructor_ValidParameters_ConstructsObject()
{ {
// Arrange
string username = "john_doe"; string username = "john_doe";
string profilePicture = "profile.jpg"; string profilePicture = "profile.jpg";
string lastName = "Doe"; string lastName = "Doe";
@ -18,12 +17,10 @@ namespace Model.Tests
float length = 180.5f; float length = 180.5f;
float weight = 75.3f; float weight = 75.3f;
DateTime dateOfBirth = new DateTime(1990, 5, 15); DateTime dateOfBirth = new DateTime(1990, 5, 15);
Role role = new Athlete(); // You can change this to the appropriate role Role role = new Athlete();
// Act
User user = new User(username, profilePicture, lastName, firstName, email, password, sex, length, weight, dateOfBirth, role); User user = new User(username, profilePicture, lastName, firstName, email, password, sex, length, weight, dateOfBirth, role);
// Assert
Assert.NotNull(user); Assert.NotNull(user);
Assert.Equal(username, user.Username); Assert.Equal(username, user.Username);
Assert.Equal(profilePicture, user.ProfilePicture); Assert.Equal(profilePicture, user.ProfilePicture);

Loading…
Cancel
Save