68 lines
1.9 KiB
TypeScript
68 lines
1.9 KiB
TypeScript
import {
|
|
fahrenheitToCelsius,
|
|
celsiusToFahrenheit,
|
|
convertTemperature,
|
|
formatTemperature,
|
|
} from '../../../src/lib/utils/conversions';
|
|
|
|
describe('Temperature Conversions', () => {
|
|
describe('fahrenheitToCelsius', () => {
|
|
it('converts 32°F to 0°C', () => {
|
|
expect(fahrenheitToCelsius(32)).toBe(0);
|
|
});
|
|
|
|
it('converts 212°F to 100°C', () => {
|
|
expect(fahrenheitToCelsius(212)).toBe(100);
|
|
});
|
|
|
|
it('converts 2232°F (cone 6) to approximately 1222°C', () => {
|
|
const result = fahrenheitToCelsius(2232);
|
|
expect(Math.round(result)).toBe(1222);
|
|
});
|
|
});
|
|
|
|
describe('celsiusToFahrenheit', () => {
|
|
it('converts 0°C to 32°F', () => {
|
|
expect(celsiusToFahrenheit(0)).toBe(32);
|
|
});
|
|
|
|
it('converts 100°C to 212°F', () => {
|
|
expect(celsiusToFahrenheit(100)).toBe(212);
|
|
});
|
|
});
|
|
|
|
describe('convertTemperature', () => {
|
|
it('returns same temperature if units match', () => {
|
|
const temp = { value: 100, unit: 'F' as const };
|
|
const result = convertTemperature(temp, 'F');
|
|
expect(result).toEqual(temp);
|
|
});
|
|
|
|
it('converts from F to C', () => {
|
|
const temp = { value: 2232, unit: 'F' as const };
|
|
const result = convertTemperature(temp, 'C');
|
|
expect(result.value).toBe(1222);
|
|
expect(result.unit).toBe('C');
|
|
});
|
|
|
|
it('converts from C to F', () => {
|
|
const temp = { value: 1222, unit: 'C' as const };
|
|
const result = convertTemperature(temp, 'F');
|
|
expect(result.value).toBe(2232);
|
|
expect(result.unit).toBe('F');
|
|
});
|
|
});
|
|
|
|
describe('formatTemperature', () => {
|
|
it('formats Fahrenheit temperature', () => {
|
|
const temp = { value: 2232, unit: 'F' as const };
|
|
expect(formatTemperature(temp)).toBe('2232°F');
|
|
});
|
|
|
|
it('formats Celsius temperature', () => {
|
|
const temp = { value: 1222, unit: 'C' as const };
|
|
expect(formatTemperature(temp)).toBe('1222°C');
|
|
});
|
|
});
|
|
});
|