mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-25 19:40:24 +00:00
106 lines
2.9 KiB
TypeScript
106 lines
2.9 KiB
TypeScript
import { DataFormats } from 'container/NewWidget/RightContainer/types';
|
|
|
|
import { covertIntoDataFormats } from './utils';
|
|
|
|
describe('Convert One Unit to another unit', () => {
|
|
it('should convert from BitsIEC to BytesIEC', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 8,
|
|
sourceUnit: DataFormats.BitsIEC,
|
|
targetUnit: DataFormats.BytesIEC,
|
|
});
|
|
expect(result).toBe(1);
|
|
});
|
|
|
|
// for KibiBytes to MebiBytes conversion
|
|
it('should convert from KibiBytes to MebiBytes', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1024,
|
|
sourceUnit: DataFormats.KibiBytes,
|
|
targetUnit: DataFormats.MebiBytes,
|
|
});
|
|
expect(result).toBe(1);
|
|
});
|
|
|
|
// for MegaBytes to GigaBytes conversion (SI units)
|
|
it('should convert from MegaBytes to GigaBytes (SI)', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1000,
|
|
sourceUnit: DataFormats.MegaBytes,
|
|
targetUnit: DataFormats.GigaBytes,
|
|
});
|
|
expect(result).toBe(1);
|
|
});
|
|
|
|
// for identity conversion
|
|
it('should handle identity conversion', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 100,
|
|
sourceUnit: DataFormats.KibiBytes,
|
|
targetUnit: DataFormats.KibiBytes,
|
|
});
|
|
expect(result).toBe(100);
|
|
});
|
|
|
|
// BytesIEC to BitsIEC conversion
|
|
it('should convert from BytesIEC to BitsIEC', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1,
|
|
sourceUnit: DataFormats.BytesIEC,
|
|
targetUnit: DataFormats.BitsIEC,
|
|
});
|
|
expect(result).toBe(8);
|
|
});
|
|
|
|
// for GibiBytes to TebiBytes conversion
|
|
it('should convert from GibiBytes to TebiBytes', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1024,
|
|
sourceUnit: DataFormats.GibiBytes,
|
|
targetUnit: DataFormats.TebiBytes,
|
|
});
|
|
expect(result).toBe(1);
|
|
});
|
|
|
|
// for GigaBytes to TeraBytes conversion (SI units)
|
|
it('should convert from GigaBytes to TeraBytes (SI)', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1000,
|
|
sourceUnit: DataFormats.GigaBytes,
|
|
targetUnit: DataFormats.TeraBytes,
|
|
});
|
|
expect(result).toBe(1);
|
|
});
|
|
|
|
// for GigaBytes to GibiBytes conversion (cross conversion)
|
|
it('should convert from GigaBytes to GibiBytes', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1,
|
|
sourceUnit: DataFormats.GigaBytes,
|
|
targetUnit: DataFormats.GibiBytes,
|
|
});
|
|
// 1 GB = 0.93132257461548 GiB approximately
|
|
expect(result).toBeCloseTo(0.93132257461548);
|
|
});
|
|
|
|
// for a large number conversion
|
|
it('should handle large number conversion from PebiBytes to BitsIEC', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: 1,
|
|
sourceUnit: DataFormats.PebiBytes,
|
|
targetUnit: DataFormats.BitsIEC,
|
|
});
|
|
expect(result).toBe(1 * 1024 ** 5 * 8); // 1 PebiByte = 2^50 Bytes = 2^53 Bits
|
|
});
|
|
|
|
// Negative value conversion
|
|
it('should handle negative values', () => {
|
|
const result = covertIntoDataFormats({
|
|
value: -1,
|
|
sourceUnit: DataFormats.KibiBytes,
|
|
targetUnit: DataFormats.BytesIEC,
|
|
});
|
|
expect(result).toBe(-1024);
|
|
});
|
|
});
|