color_converter_my 1.0.0
color_converter_my: ^1.0.0 copied to clipboard
A simple library to convert colors between RGB, HEX, HSL, and CMYK.
example/color_converter_my_example.dart
import 'package:color_converter_my/color_converter_my.dart';
import 'package:test/test.dart';
void main() {
group('ColorConverterMy', () {
test('RGB to HEX', () {
expect(ColorConverterMy.rgbToHex(255, 99, 71), '#FF6347');
expect(ColorConverterMy.rgbToHex(0, 0, 0), '#000000');
expect(ColorConverterMy.rgbToHex(255, 255, 255), '#FFFFFF');
});
test('HEX to RGB', () {
expect(ColorConverterMy.hexToRgb('#FF6347'), [255, 99, 71]);
expect(ColorConverterMy.hexToRgb('#000000'), [0, 0, 0]);
expect(ColorConverterMy.hexToRgb('#FFFFFF'), [255, 255, 255]);
});
test('Invalid HEX format throws FormatException', () {
expect(() => ColorConverterMy.hexToRgb('#ZZZZZZ'), throwsFormatException);
expect(() => ColorConverterMy.hexToRgb('123456'), throwsFormatException);
});
test('RGB to HSL', () {
var hsl = ColorConverterMy.rgbToHsl(255, 99, 71);
expect(hsl[0], closeTo(9.0, 0.1)); // Tolerância para Hue
expect(hsl[1], closeTo(100.0, 0.1)); // Tolerância para Saturation
expect(
hsl[2], closeTo(64.0, 0.2)); // Aumentar a tolerância para Lightness
});
test('HSL to RGB', () {
var rgb = ColorConverterMy.hslToRgb(9, 100, 64);
expect(rgb, [255, 99, 71]);
});
test('RGB to CMYK', () {
var cmyk = ColorConverterMy.rgbToCmyk(255, 99, 71);
expect(cmyk[0], closeTo(0.0, 0.1));
expect(cmyk[1], closeTo(61.0, 0.1));
expect(cmyk[2], closeTo(72.0, 0.1));
expect(cmyk[3], closeTo(0.0, 0.1));
});
test('CMYK to RGB', () {
var rgb = ColorConverterMy.cmykToRgb(0, 61, 72, 0);
expect(rgb, [255, 99, 71]);
});
test('CMYK to RGB (Black only)', () {
var rgb = ColorConverterMy.cmykToRgb(0, 0, 0, 100);
expect(rgb, [0, 0, 0]);
});
});
}