You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
4.6 KiB
120 lines
4.6 KiB
using Xunit;
|
|
using System;
|
|
|
|
namespace Model.Tests
|
|
{
|
|
public class HeartRateTests
|
|
{
|
|
[Fact]
|
|
public void HeartRate_Constructor_WithValidParameters()
|
|
{
|
|
|
|
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);
|
|
|
|
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()
|
|
{
|
|
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);
|
|
|
|
var result = heartRate.ToString();
|
|
|
|
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);
|
|
}
|
|
[Fact]
|
|
public void Constructor_WithAllParameters_ShouldInitializeCorrectly()
|
|
{
|
|
int bpm = 70;
|
|
var timestamp = new TimeOnly(12, 0);
|
|
var activity = new Activity();
|
|
double? latitude = 40.7128;
|
|
double? longitude = -74.0060;
|
|
double? altitude = 10.0;
|
|
int? cadence = 80;
|
|
double? distance = 5.0;
|
|
double? speed = 10.0;
|
|
int? power = 200;
|
|
double? temperature = 20.0;
|
|
|
|
var heartRate = new HeartRate(bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature);
|
|
|
|
Assert.NotNull(heartRate);
|
|
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 Constructor_WithMinimalParameters_ShouldInitializeCorrectly()
|
|
{
|
|
int bpm = 70;
|
|
var timestamp = new TimeOnly(12, 0);
|
|
|
|
var heartRate = new HeartRate(bpm, timestamp, 1, null, null, null, null, null, null, null, null);
|
|
|
|
Assert.NotNull(heartRate);
|
|
Assert.Equal(bpm, heartRate.Bpm);
|
|
Assert.Equal(timestamp, heartRate.Timestamp);
|
|
Assert.Null(heartRate.Activity);
|
|
Assert.Null(heartRate.Latitude);
|
|
Assert.Null(heartRate.Longitude);
|
|
Assert.Null(heartRate.Altitude);
|
|
Assert.Null(heartRate.Cadence);
|
|
Assert.Null(heartRate.Distance);
|
|
Assert.Null(heartRate.Speed);
|
|
Assert.Null(heartRate.Power);
|
|
Assert.Null(heartRate.Temperature);
|
|
}
|
|
}
|
|
} |