✅ Add model's tests
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
9142dc8cef
commit
72b35b38a2
@ -1,152 +1,166 @@
|
||||
//-----------------------------------------------------------------------
|
||||
// FILENAME: ActivityTests.cs
|
||||
// PROJECT: UnitTestsModel
|
||||
// DATE CREATED: 16/03/2024
|
||||
// AUTHOR: HeartTeam
|
||||
// PURPOSE: Contains unit tests for the Activity class in the Model namespace.
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Model;
|
||||
using Xunit;
|
||||
|
||||
namespace UnitTestsModel;
|
||||
public class ActivityTests
|
||||
namespace UnitTestsModel
|
||||
{
|
||||
[Fact]
|
||||
public void Constructor_WithValidEffort_SetsEffort()
|
||||
/// <summary>
|
||||
/// Contains unit tests for the <see cref="Activity"/> class.
|
||||
/// </summary>
|
||||
public class ActivityTests
|
||||
{
|
||||
// Arrange
|
||||
var date = DateTime.Now;
|
||||
var validEffort = 3;
|
||||
/// <summary>
|
||||
/// Verifies that the constructor sets the effort property correctly when a valid effort is provided.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void Constructor_WithValidEffort_SetsEffort()
|
||||
{
|
||||
var date = DateTime.Now;
|
||||
var validEffort = 3;
|
||||
|
||||
// Act
|
||||
var activity = new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: validEffort,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: new User(),
|
||||
dataSource: new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>()),
|
||||
heartRates: null
|
||||
);
|
||||
var activity = new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: validEffort,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: new User(),
|
||||
dataSource: new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>()),
|
||||
heartRates: null
|
||||
);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(validEffort, activity.Effort);
|
||||
}
|
||||
Assert.Equal(validEffort, activity.Effort);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Constructor_WithInvalidEffort_ThrowsArgumentException()
|
||||
{
|
||||
// Arrange
|
||||
var date = DateTime.Now;
|
||||
var invalidEffort = 6;
|
||||
/// <summary>
|
||||
/// Verifies that the constructor throws an ArgumentException when an invalid effort is provided.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void Constructor_WithInvalidEffort_ThrowsArgumentException()
|
||||
{
|
||||
var date = DateTime.Now;
|
||||
var invalidEffort = 6;
|
||||
|
||||
// Act & Assert
|
||||
Assert.Throws<ArgumentException>(() => new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: invalidEffort,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: new User(),
|
||||
dataSource: new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>()),
|
||||
heartRates: null
|
||||
));
|
||||
}
|
||||
Assert.Throws<ArgumentException>(() => new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: invalidEffort,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: new User(),
|
||||
dataSource: new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>()),
|
||||
heartRates: null
|
||||
));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ToString_ReturnsExpectedString()
|
||||
{
|
||||
// Arrange
|
||||
var date = new DateTime(2023, 3, 16, 10, 0, 0);
|
||||
var activity = new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: 3,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: new User(),
|
||||
dataSource: new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>()),
|
||||
heartRates: null
|
||||
);
|
||||
/// <summary>
|
||||
/// Verifies that the ToString method returns the expected string representation of the activity.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void ToString_ReturnsExpectedString()
|
||||
{
|
||||
var date = new DateTime(2023, 3, 16, 10, 0, 0);
|
||||
var activity = new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: 3,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: new User(),
|
||||
dataSource: new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>()),
|
||||
heartRates: null
|
||||
);
|
||||
|
||||
// Act
|
||||
var result = activity.ToString();
|
||||
var result = activity.ToString();
|
||||
|
||||
// Assert
|
||||
Assert.Contains("Activity #1: Running on 16/3/2023 from 11:00:00 to 12:00:00", result);
|
||||
}
|
||||
Assert.Contains("Activity #1: Running on 16/3/2023 from 11:00:00 to 12:00:00", result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Constructor_SetsPropertiesCorrectly()
|
||||
{
|
||||
// Arrange
|
||||
var date = DateTime.Now;
|
||||
var user = new User();
|
||||
var dataSource = new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>());
|
||||
var heartRates = new List<HeartRate>();
|
||||
/// <summary>
|
||||
/// Verifies that the constructor sets all properties correctly.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void Constructor_SetsPropertiesCorrectly()
|
||||
{
|
||||
var date = DateTime.Now;
|
||||
var user = new User();
|
||||
var dataSource = new DataSource(1, "Type", "Model", 0.1f, new List<User>(), new List<Activity>());
|
||||
var heartRates = new List<HeartRate>();
|
||||
|
||||
// Act
|
||||
var activity = new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: 3,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: user,
|
||||
dataSource: dataSource,
|
||||
heartRates: heartRates
|
||||
);
|
||||
var activity = new Activity(
|
||||
id: 1,
|
||||
type: "Running",
|
||||
date: date,
|
||||
startTime: date.AddHours(1),
|
||||
endTime: date.AddHours(2),
|
||||
effort: 3,
|
||||
variability: 0.5f,
|
||||
variance: 0.3f,
|
||||
standardDeviation: 0.2f,
|
||||
average: 150,
|
||||
maximum: 180,
|
||||
minimum: 120,
|
||||
averageTemperature: 25.5f,
|
||||
hasAutoPause: false,
|
||||
user: user,
|
||||
dataSource: dataSource,
|
||||
heartRates: heartRates
|
||||
);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(1, activity.Id);
|
||||
Assert.Equal("Running", activity.Type);
|
||||
Assert.Equal(date, activity.Date);
|
||||
Assert.Equal(date.AddHours(1), activity.StartTime);
|
||||
Assert.Equal(date.AddHours(2), activity.EndTime);
|
||||
Assert.Equal(3, activity.Effort);
|
||||
Assert.Equal(0.5f, activity.Variability);
|
||||
Assert.Equal(0.3f, activity.Variance);
|
||||
Assert.Equal(0.2f, activity.StandardDeviation);
|
||||
Assert.Equal(150, activity.Average);
|
||||
Assert.Equal(180, activity.Maximum);
|
||||
Assert.Equal(120, activity.Minimum);
|
||||
Assert.Equal(25.5f, activity.AverageTemperature);
|
||||
Assert.False(activity.HasAutoPause);
|
||||
Assert.Equal(user, activity.Athlete);
|
||||
Assert.Equal(dataSource, activity.DataSource);
|
||||
Assert.Equal(heartRates, activity.HeartRates);
|
||||
}
|
||||
Assert.Equal(1, activity.Id);
|
||||
Assert.Equal("Running", activity.Type);
|
||||
Assert.Equal(date, activity.Date);
|
||||
Assert.Equal(date.AddHours(1), activity.StartTime);
|
||||
Assert.Equal(date.AddHours(2), activity.EndTime);
|
||||
Assert.Equal(3, activity.Effort);
|
||||
Assert.Equal(0.5f, activity.Variability);
|
||||
Assert.Equal(0.3f, activity.Variance);
|
||||
Assert.Equal(0.2f, activity.StandardDeviation);
|
||||
Assert.Equal(150, activity.Average);
|
||||
Assert.Equal(180, activity.Maximum);
|
||||
Assert.Equal(120, activity.Minimum);
|
||||
Assert.Equal(25.5f, activity.AverageTemperature);
|
||||
Assert.False(activity.HasAutoPause);
|
||||
Assert.Equal(user, activity.Athlete);
|
||||
Assert.Equal(dataSource, activity.DataSource);
|
||||
Assert.Equal(heartRates, activity.HeartRates);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
using Model;
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class AthleteTests
|
||||
{
|
||||
[Fact]
|
||||
public void CheckAdd_ValidUser_ReturnsTrue()
|
||||
{
|
||||
// Arrange
|
||||
var athlete = new Athlete();
|
||||
|
||||
// Act
|
||||
var user = new User();
|
||||
var result = athlete.CheckAdd(user);
|
||||
|
||||
// Assert
|
||||
Assert.True(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckAdd_NullUser_ReturnsFalse()
|
||||
{
|
||||
// Arrange
|
||||
var athlete = new Athlete();
|
||||
|
||||
// Act
|
||||
var result = athlete.CheckAdd(null);
|
||||
|
||||
// Assert
|
||||
Assert.False(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckAdd_NonAthleteUser_ReturnsFalse()
|
||||
{
|
||||
// Arrange
|
||||
var athlete = new Athlete();
|
||||
|
||||
// Act
|
||||
var user = new User { Role = new Coach() }; // Assuming Coach inherits from Role
|
||||
var result = athlete.CheckAdd(user);
|
||||
|
||||
// Assert
|
||||
Assert.False(result);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
using Model;
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class CoachTests
|
||||
{
|
||||
[Fact]
|
||||
public void CheckAdd_AthleteUser_ReturnsTrue()
|
||||
{
|
||||
// Arrange
|
||||
var coach = new Coach();
|
||||
|
||||
// Act
|
||||
var user = new User { Role = new Athlete() };
|
||||
var result = coach.CheckAdd(user);
|
||||
|
||||
// Assert
|
||||
Assert.True(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckAdd_NonAthleteUser_ReturnsFalse()
|
||||
{
|
||||
// Arrange
|
||||
var coach = new Coach();
|
||||
|
||||
// Act
|
||||
var user = new User { Role = new Coach() };
|
||||
var result = coach.CheckAdd(user);
|
||||
|
||||
// Assert
|
||||
Assert.False(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CheckAdd_NullUser_ReturnsFalse()
|
||||
{
|
||||
// Arrange
|
||||
var coach = new Coach();
|
||||
|
||||
// Act
|
||||
var result = coach.CheckAdd(null);
|
||||
|
||||
// Assert
|
||||
Assert.False(result);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
using Model;
|
||||
using System.Collections.Generic;
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class DataSourceTests
|
||||
{
|
||||
[Fact]
|
||||
public void Constructor_WithArguments_InitializesProperties()
|
||||
{
|
||||
// Arrange
|
||||
var id = 1;
|
||||
var type = "Type";
|
||||
var model = "Model";
|
||||
var precision = 0.5f;
|
||||
var athletes = new List<User>();
|
||||
var activities = new List<Activity>();
|
||||
|
||||
// Act
|
||||
var dataSource = new DataSource(id, type, model, precision, athletes, activities);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(id, dataSource.Id);
|
||||
Assert.Equal(type, dataSource.Type);
|
||||
Assert.Equal(model, dataSource.Model);
|
||||
Assert.Equal(precision, dataSource.Precision);
|
||||
Assert.Same(athletes, dataSource.Athletes);
|
||||
Assert.Same(activities, dataSource.Activities);
|
||||
}
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
global using Xunit;
|
@ -0,0 +1,73 @@
|
||||
using Xunit;
|
||||
using System;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class HeartRateTests
|
||||
{
|
||||
[Fact]
|
||||
public void HeartRate_Constructor_WithValidParameters()
|
||||
{
|
||||
// Arrange
|
||||
int id = 1;
|
||||
int bpm = 80;
|
||||
TimeOnly timestamp = new TimeOnly(12, 30, 0);
|
||||
Activity activity = new Activity();
|
||||
double? latitude = 40.7128;
|
||||
double? longitude = -74.0060;
|
||||
double? altitude = 10.5;
|
||||
int? cadence = 120;
|
||||
double? distance = 5.2;
|
||||
double? speed = 10.5;
|
||||
int? power = 200;
|
||||
double? temperature = 25.5;
|
||||
|
||||
// Act
|
||||
var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(id, heartRate.Id);
|
||||
Assert.Equal(bpm, heartRate.Bpm);
|
||||
Assert.Equal(timestamp, heartRate.Timestamp);
|
||||
Assert.Equal(activity, heartRate.Activity);
|
||||
Assert.Equal(latitude, heartRate.Latitude);
|
||||
Assert.Equal(longitude, heartRate.Longitude);
|
||||
Assert.Equal(altitude, heartRate.Altitude);
|
||||
Assert.Equal(cadence, heartRate.Cadence);
|
||||
Assert.Equal(distance, heartRate.Distance);
|
||||
Assert.Equal(speed, heartRate.Speed);
|
||||
Assert.Equal(power, heartRate.Power);
|
||||
Assert.Equal(temperature, heartRate.Temperature);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HeartRate_ToString_ReturnsExpectedString()
|
||||
{
|
||||
// Arrange
|
||||
int id = 1;
|
||||
int bpm = 80;
|
||||
TimeOnly timestamp = new TimeOnly(12, 30, 0);
|
||||
Activity activity = new Activity();
|
||||
double? latitude = 40.7128;
|
||||
double? longitude = -74.0060;
|
||||
double? altitude = 10.5;
|
||||
int? cadence = 120;
|
||||
double? distance = 5.2;
|
||||
double? speed = 10.5;
|
||||
int? power = 200;
|
||||
double? temperature = 25.5;
|
||||
var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature);
|
||||
|
||||
// Act
|
||||
var result = heartRate.ToString();
|
||||
|
||||
// Assert
|
||||
Assert.Contains($"HeartRate #{id}", result);
|
||||
Assert.Contains($"{bpm} bpm", result);
|
||||
Assert.Contains($"{timestamp:HH:mm:ss}", result);
|
||||
Assert.Contains($"temperature of {temperature}°C", result);
|
||||
Assert.Contains($"altitude of {altitude}m", result);
|
||||
Assert.Contains($"at {longitude}°E and {latitude}°N", result);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class LargeImageTests
|
||||
{
|
||||
[Fact]
|
||||
public void Equals_ReturnsTrue_WhenBase64StringsAreEqual()
|
||||
{
|
||||
// Arrange
|
||||
var base64String = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw==";
|
||||
var image1 = new LargeImage(base64String);
|
||||
var image2 = new LargeImage(base64String);
|
||||
|
||||
// Act
|
||||
var result = image1.Equals(image2);
|
||||
|
||||
// Assert
|
||||
Assert.True(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Equals_ReturnsFalse_WhenBase64StringsAreDifferent()
|
||||
{
|
||||
// Arrange
|
||||
var base64String1 = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw==";
|
||||
var base64String2 = "VGhpcyBpcyBhIGJhc2U2NSBlbmNvZGVkIHN0cmluZw==";
|
||||
var image1 = new LargeImage(base64String1);
|
||||
var image2 = new LargeImage(base64String2);
|
||||
|
||||
// Act
|
||||
var result = image1.Equals(image2);
|
||||
|
||||
// Assert
|
||||
Assert.False(result);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class NotificationTests
|
||||
{
|
||||
[Fact]
|
||||
public void Constructor_InitializesPropertiesCorrectly()
|
||||
{
|
||||
// Arrange
|
||||
int id = 1;
|
||||
string message = "Test notification";
|
||||
DateTime date = DateTime.Now;
|
||||
bool status = false;
|
||||
string urgency = "High";
|
||||
int toUserId = 10;
|
||||
|
||||
// Act
|
||||
var notification = new Notification(id, message, date, status, urgency, toUserId);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(id, notification.IdNotif);
|
||||
Assert.Equal(message, notification.Message);
|
||||
Assert.Equal(date, notification.Date);
|
||||
Assert.Equal(status, notification.Statut);
|
||||
Assert.Equal(urgency, notification.Urgence);
|
||||
Assert.Equal(toUserId, notification.ToUserId);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class RelationshipRequestTests
|
||||
{
|
||||
[Fact]
|
||||
public void Constructor_InitializesPropertiesCorrectly()
|
||||
{
|
||||
// Arrange
|
||||
int id = 1;
|
||||
int fromUserId = 2;
|
||||
int toUserId = 3;
|
||||
string status = "Pending";
|
||||
|
||||
// Act
|
||||
var request = new RelationshipRequest
|
||||
{
|
||||
Id = id,
|
||||
FromUser = fromUserId,
|
||||
ToUser = toUserId
|
||||
};
|
||||
|
||||
// Assert
|
||||
Assert.Equal(id, request.Id);
|
||||
Assert.Equal(fromUserId, request.FromUser);
|
||||
Assert.Equal(toUserId, request.ToUser);
|
||||
Assert.Equal(status, request.Status);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class RoleTests
|
||||
{
|
||||
[Fact]
|
||||
public void AddUser_WithValidUser_ReturnsTrue()
|
||||
{
|
||||
// Arrange
|
||||
var role = new Athlete(); // Vous pouvez utiliser Athlete ou Coach selon votre besoin
|
||||
var user = new User(); // Créez un objet User valide
|
||||
|
||||
// Act
|
||||
bool result = role.AddUser(user);
|
||||
|
||||
// Assert
|
||||
Assert.True(result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AddUser_WithInvalidUser_ReturnsFalse()
|
||||
{
|
||||
// Arrange
|
||||
var role = new Athlete(); // Vous pouvez utiliser Athlete ou Coach selon votre besoin
|
||||
var user = new User(); // Créez un objet User invalide
|
||||
|
||||
// Act
|
||||
bool result = role.AddUser(user);
|
||||
|
||||
// Assert
|
||||
Assert.False(result);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
namespace UnitTestsModel;
|
||||
|
||||
public class UnitTest1
|
||||
{
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
using Xunit;
|
||||
|
||||
namespace Model.Tests
|
||||
{
|
||||
public class UserTests
|
||||
{
|
||||
[Fact]
|
||||
public void UserConstructor_ValidParameters_ConstructsObject()
|
||||
{
|
||||
// Arrange
|
||||
string username = "john_doe";
|
||||
string profilePicture = "profile.jpg";
|
||||
string lastName = "Doe";
|
||||
string firstName = "John";
|
||||
string email = "john.doe@example.com";
|
||||
string password = "password";
|
||||
string sex = "Male";
|
||||
float length = 180.5f;
|
||||
float weight = 75.3f;
|
||||
DateTime dateOfBirth = new DateTime(1990, 5, 15);
|
||||
Role role = new Athlete(); // You can change this to the appropriate role
|
||||
|
||||
// Act
|
||||
User user = new User(username, profilePicture, lastName, firstName, email, password, sex, length, weight, dateOfBirth, role);
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(user);
|
||||
Assert.Equal(username, user.Username);
|
||||
Assert.Equal(profilePicture, user.ProfilePicture);
|
||||
Assert.Equal(lastName, user.LastName);
|
||||
Assert.Equal(firstName, user.FirstName);
|
||||
Assert.Equal(email, user.Email);
|
||||
Assert.Equal(password, user.MotDePasse);
|
||||
Assert.Equal(sex, user.Sexe);
|
||||
Assert.Equal(length, user.Lenght);
|
||||
Assert.Equal(weight, user.Weight);
|
||||
Assert.Equal(dateOfBirth, user.DateOfBirth);
|
||||
Assert.Equal(role, user.Role);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue