dbe4170986
116 tests passing: JobPhotoService, MeasurementConversionService, PlatformSettingsService, QuoteApprovalController, QuotePhotoService, ShopCapabilityCalculator, StorageMigrationService, TenantContext, UsageQuotaController — plus expanded PricingCalculation, Registration, and Subscription tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
63 lines
2.0 KiB
C#
63 lines
2.0 KiB
C#
using PowderCoating.Application.Services;
|
|
|
|
namespace PowderCoating.UnitTests;
|
|
|
|
public class MeasurementConversionServiceTests
|
|
{
|
|
private readonly MeasurementConversionService _service = new();
|
|
|
|
[Fact]
|
|
public void SquareFeetToMeters_AndBack_RoundTripsToCurrencyStylePrecision()
|
|
{
|
|
var squareMeters = _service.SquareFeetToMeters(100m);
|
|
var squareFeet = _service.SquareMetersToFeet(squareMeters);
|
|
|
|
Assert.Equal(9.29m, squareMeters);
|
|
Assert.Equal(100m, squareFeet, 1);
|
|
}
|
|
|
|
[Fact]
|
|
public void PoundsToKilograms_AndBack_RoundTripsToCurrencyStylePrecision()
|
|
{
|
|
var kilograms = _service.PoundsToKilograms(10m);
|
|
var pounds = _service.KilogramsToPounds(kilograms);
|
|
|
|
Assert.Equal(4.54m, kilograms);
|
|
Assert.Equal(10.01m, pounds, 2);
|
|
}
|
|
|
|
[Fact]
|
|
public void ConvertArea_WhenImperialToMetric_UsesSquareFeetConversion()
|
|
{
|
|
var result = _service.ConvertArea(50m, fromImperial: true, toMetric: true);
|
|
|
|
Assert.Equal(4.65m, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void ConvertArea_WhenSourceAndTargetAreSameSystem_ReturnsOriginalValue()
|
|
{
|
|
Assert.Equal(12.34m, _service.ConvertArea(12.34m, fromImperial: true, toMetric: false));
|
|
Assert.Equal(56.78m, _service.ConvertArea(56.78m, fromImperial: false, toMetric: true));
|
|
}
|
|
|
|
[Fact]
|
|
public void ConvertWeight_WhenMetricToImperial_UsesKilogramsToPounds()
|
|
{
|
|
var result = _service.ConvertWeight(5m, fromImperial: false, toMetric: false);
|
|
|
|
Assert.Equal(11.02m, result);
|
|
}
|
|
|
|
[Fact]
|
|
public void UnitLabelHelpers_ReturnExpectedMetricAndImperialLabels()
|
|
{
|
|
Assert.Equal("sq ft", _service.GetAreaUnitLabel(false));
|
|
Assert.Equal("sq m", _service.GetAreaUnitLabel(true));
|
|
Assert.Equal("lb", _service.GetWeightUnitLabel(false));
|
|
Assert.Equal("kg", _service.GetWeightUnitLabel(true));
|
|
Assert.Equal("sq ft/lb", _service.GetCoverageUnitLabel(false));
|
|
Assert.Equal("sq m/kg", _service.GetCoverageUnitLabel(true));
|
|
}
|
|
}
|