From 51adc09fbfaaa763b99dae6fe4dd631d29108955 Mon Sep 17 00:00:00 2001 From: Rosdyana Kusuma Date: Sat, 15 Oct 2022 19:14:04 +0800 Subject: [PATCH 1/2] Add color ID --- faker/providers/color/id_ID/__init__.py | 60 +++++++++++++++++++++++++ tests/providers/test_color.py | 16 +++++++ 2 files changed, 76 insertions(+) create mode 100644 faker/providers/color/id_ID/__init__.py diff --git a/faker/providers/color/id_ID/__init__.py b/faker/providers/color/id_ID/__init__.py new file mode 100644 index 0000000000..8e8fe6d0e4 --- /dev/null +++ b/faker/providers/color/id_ID/__init__.py @@ -0,0 +1,60 @@ +from collections import OrderedDict + +from .. import Provider as ColorProvider + +localized = True + + +class Provider(ColorProvider): + """Implement color provider for ``id_ID`` locale. + + Sources: + - https://id.wikipedia.org/wiki/Daftar_warna + """ + + all_colors = OrderedDict( + ( + ("Abu-abu", "#808080"), + ("Biru", "#0000FF"), + ("Biru dongker", "#00008B"), + ("Biru laut", "#0000CD"), + ("Biru muda", "#ADD8E6"), + ("Coklat", "#A52A2A"), + ("Coklat tua", "#8B4513"), + ("Emas", "#FFD700"), + ("Hijau", "#008000"), + ("Hijau muda", "#90EE90"), + ("Hijau tua", "#006400"), + ("Hitam", "#000000"), + ("Jingga", "#FFA500"), + ("Kuning", "#FFFF00"), + ("Koral", "#FF7F50"), + ("Magenta", "#FF00FF"), + ("Merah", "#FF0000"), + ("Merah marun", "#800000"), + ("Merah jambu", "#FFC0CB"), + ("Merah bata", "#B22222"), + ("Perak", "#C0C0C0"), + ("Nila", "#000080"), + ("Putih", "#FFFFFF"), + ("Ungu", "#800080"), + ("Ungu tua", "#4B0082"), + ("Zaitun", "#808000"), + ) + ) + + safe_colors = ( + "putih", + "hitam", + "merah", + "hijau", + "kuning", + "biru", + "ungu", + "abu-abu", + "coklat", + "perak", + "emas", + "pink", + "oranye", + ) diff --git a/tests/providers/test_color.py b/tests/providers/test_color.py index c978ed122a..a41a1bc394 100644 --- a/tests/providers/test_color.py +++ b/tests/providers/test_color.py @@ -15,6 +15,7 @@ from faker.providers.color.he_IL import Provider as HeILColorProvider from faker.providers.color.hy_AM import Provider as HyAmColorProvider from faker.providers.color.sk_SK import Provider as SkSkColorProvider +from faker.providers.color.id_ID import Provider as IdIdColorProvider class TestColorProvider: @@ -352,3 +353,18 @@ def test_safe_color_name(self, faker, num_samples): safe_color_name = faker.safe_color_name() assert isinstance(safe_color_name, str) assert safe_color_name in HeILColorProvider.safe_colors + +class TestIdId: + """Test id_ID color provider methods""" + + def test_color_name(self, faker, num_samples): + for _ in range(num_samples): + color_name = faker.color_name() + assert isinstance(color_name, str) + assert color_name in IdIdColorProvider.all_colors.keys() + + def test_safe_color_name(self, faker, num_samples): + for _ in range(num_samples): + safe_color_name = faker.safe_color_name() + assert isinstance(safe_color_name, str) + assert safe_color_name in IdIdColorProvider.safe_colors From de11405079cf08a374d02b995214b31be028b413 Mon Sep 17 00:00:00 2001 From: rosdyana Date: Thu, 3 Nov 2022 20:50:40 +0800 Subject: [PATCH 2/2] Fix formatting by run make lint Signed-off-by: rosdyana --- tests/providers/test_color.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/providers/test_color.py b/tests/providers/test_color.py index a41a1bc394..0770621463 100644 --- a/tests/providers/test_color.py +++ b/tests/providers/test_color.py @@ -14,8 +14,8 @@ from faker.providers.color.fa_IR import Provider as FaIrColorProvider from faker.providers.color.he_IL import Provider as HeILColorProvider from faker.providers.color.hy_AM import Provider as HyAmColorProvider -from faker.providers.color.sk_SK import Provider as SkSkColorProvider from faker.providers.color.id_ID import Provider as IdIdColorProvider +from faker.providers.color.sk_SK import Provider as SkSkColorProvider class TestColorProvider: @@ -354,6 +354,7 @@ def test_safe_color_name(self, faker, num_samples): assert isinstance(safe_color_name, str) assert safe_color_name in HeILColorProvider.safe_colors + class TestIdId: """Test id_ID color provider methods"""