nepali 0.5.5__py3-none-any.whl → 1.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nepali/__init__.py +1 -1
- nepali/char.py +102 -81
- nepali/constants.py +66 -0
- nepali/date_converter.py +334 -0
- nepali/datetime/__init__.py +13 -14
- nepali/datetime/_datetime.py +391 -402
- nepali/datetime/_formatter.py +325 -0
- nepali/datetime/_humanize.py +117 -132
- nepali/datetime/_nepalimonth.py +118 -0
- nepali/datetime/_nepaliweek.py +125 -0
- nepali/datetime/parser/__init__.py +4 -4
- nepali/datetime/parser/_parser.py +59 -50
- nepali/datetime/parser/validators.py +249 -159
- nepali/datetime/utils.py +38 -0
- nepali/exceptions.py +8 -3
- nepali/locations/__init__.py +3 -0
- nepali/locations/_data.py +4271 -0
- nepali/locations/_locations.py +38 -0
- nepali/locations/models.py +104 -0
- nepali/locations/utils.py +54 -0
- nepali/number/__init__.py +19 -0
- nepali/number/_nepalinumber.py +563 -0
- nepali/number/_number.py +53 -0
- nepali/number/utils.py +72 -0
- nepali/phone_number.py +183 -0
- nepali/templatetags/__init__.py +0 -0
- nepali/templatetags/nepalidatetime.py +194 -24
- nepali/templatetags/nepalinumber.py +97 -7
- nepali/tests/test_date_converter.py +148 -0
- nepali/tests/test_datetime.py +275 -29
- nepali/tests/test_humanize.py +78 -7
- nepali/tests/test_locations.py +154 -0
- nepali/tests/test_nepalimonth.py +152 -0
- nepali/tests/test_nepaliweek.py +154 -0
- nepali/tests/test_number.py +3152 -0
- nepali/tests/test_parser.py +82 -69
- nepali/tests/test_phone_number.py +254 -0
- nepali/tests/test_timezone.py +192 -0
- nepali/timezone.py +50 -7
- nepali/utils.py +9 -68
- nepali-1.2.0.dist-info/METADATA +476 -0
- nepali-1.2.0.dist-info/RECORD +46 -0
- {nepali-0.5.5.dist-info → nepali-1.2.0.dist-info}/WHEEL +1 -1
- {nepali-0.5.5.dist-info → nepali-1.2.0.dist-info/licenses}/LICENSE +1 -1
- {nepali-0.5.5.dist-info → nepali-1.2.0.dist-info}/top_level.txt +0 -0
- nepali/datetime/_converter.py +0 -394
- nepali/datetime/_formarter.py +0 -314
- nepali/datetime.py +0 -1169
- nepali/number.py +0 -51
- nepali-0.5.5.dist-info/METADATA +0 -220
- nepali-0.5.5.dist-info/RECORD +0 -27
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"""
|
|
2
|
+
To run only this unit test use the command below.
|
|
3
|
+
|
|
4
|
+
python -m unittest nepali/tests/test_nepalimonth.py -v
|
|
5
|
+
"""
|
|
6
|
+
import unittest
|
|
7
|
+
|
|
8
|
+
from nepali.datetime import nepalimonth
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TestNepaliMonth(unittest.TestCase):
|
|
12
|
+
# parse
|
|
13
|
+
def test_nepalimonth_parses_int(self):
|
|
14
|
+
self.assertEqual(nepalimonth(1).value, 1)
|
|
15
|
+
self.assertEqual(nepalimonth(12).value, 12)
|
|
16
|
+
|
|
17
|
+
def test_nepalimonth_fails_for_int_less_than_1(self):
|
|
18
|
+
with self.assertRaises(ValueError) as ex:
|
|
19
|
+
nepalimonth(0)
|
|
20
|
+
self.assertEqual(str(ex.exception), "Invalid month: 0")
|
|
21
|
+
with self.assertRaises(ValueError):
|
|
22
|
+
nepalimonth(-100)
|
|
23
|
+
|
|
24
|
+
def test_nepalimonth_fails_for_int_more_than_12(self):
|
|
25
|
+
with self.assertRaises(ValueError) as ex:
|
|
26
|
+
nepalimonth(13)
|
|
27
|
+
self.assertEqual(str(ex.exception), "Invalid month: 13")
|
|
28
|
+
with self.assertRaises(ValueError):
|
|
29
|
+
nepalimonth(100)
|
|
30
|
+
|
|
31
|
+
def test_nepalimonth_parses_str_int_number(self):
|
|
32
|
+
month = nepalimonth("1")
|
|
33
|
+
self.assertEqual(month.value, 1)
|
|
34
|
+
|
|
35
|
+
def test_nepalimonth_fails_for_str_int_out_of_range(self):
|
|
36
|
+
with self.assertRaises(ValueError):
|
|
37
|
+
nepalimonth("0")
|
|
38
|
+
with self.assertRaises(ValueError):
|
|
39
|
+
nepalimonth("-100")
|
|
40
|
+
with self.assertRaises(ValueError):
|
|
41
|
+
nepalimonth("13")
|
|
42
|
+
with self.assertRaises(ValueError):
|
|
43
|
+
nepalimonth("100")
|
|
44
|
+
|
|
45
|
+
def test_nepalimonth_fails_for_invalid_str(self):
|
|
46
|
+
with self.assertRaises(ValueError):
|
|
47
|
+
nepalimonth("hello")
|
|
48
|
+
with self.assertRaises(ValueError):
|
|
49
|
+
nepalimonth("1.0")
|
|
50
|
+
|
|
51
|
+
def test_nepalimonth_parse_valid_month_in_english(self):
|
|
52
|
+
self.assertEqual(nepalimonth("Baishakh").value, 1)
|
|
53
|
+
self.assertEqual(nepalimonth("Jestha").value, 2)
|
|
54
|
+
self.assertEqual(nepalimonth("Ashad").value, 3)
|
|
55
|
+
self.assertEqual(nepalimonth("Sharwan").value, 4)
|
|
56
|
+
self.assertEqual(nepalimonth("Bhadra").value, 5)
|
|
57
|
+
self.assertEqual(nepalimonth("Ashwin").value, 6)
|
|
58
|
+
self.assertEqual(nepalimonth("Kartik").value, 7)
|
|
59
|
+
self.assertEqual(nepalimonth("Mangsir").value, 8)
|
|
60
|
+
self.assertEqual(nepalimonth("Poush").value, 9)
|
|
61
|
+
self.assertEqual(nepalimonth("Magh").value, 10)
|
|
62
|
+
self.assertEqual(nepalimonth("Falgun").value, 11)
|
|
63
|
+
self.assertEqual(nepalimonth("Chaitra").value, 12)
|
|
64
|
+
|
|
65
|
+
def test_nepalimonth_parse_valid_month_in_english_lower_case(self):
|
|
66
|
+
self.assertEqual(nepalimonth("baishakh").value, 1)
|
|
67
|
+
self.assertEqual(nepalimonth("jestha").value, 2)
|
|
68
|
+
self.assertEqual(nepalimonth("ashad").value, 3)
|
|
69
|
+
self.assertEqual(nepalimonth("sharwan").value, 4)
|
|
70
|
+
self.assertEqual(nepalimonth("bhadra").value, 5)
|
|
71
|
+
self.assertEqual(nepalimonth("ashwin").value, 6)
|
|
72
|
+
self.assertEqual(nepalimonth("kartik").value, 7)
|
|
73
|
+
self.assertEqual(nepalimonth("mangsir").value, 8)
|
|
74
|
+
self.assertEqual(nepalimonth("poush").value, 9)
|
|
75
|
+
self.assertEqual(nepalimonth("magh").value, 10)
|
|
76
|
+
self.assertEqual(nepalimonth("falgun").value, 11)
|
|
77
|
+
self.assertEqual(nepalimonth("chaitra").value, 12)
|
|
78
|
+
|
|
79
|
+
def test_nepalimonth_parse_valid_month_in_english_case_insensitive(self):
|
|
80
|
+
self.assertEqual(nepalimonth("bAisHakh").value, 1)
|
|
81
|
+
self.assertEqual(nepalimonth("jEsTha").value, 2)
|
|
82
|
+
self.assertEqual(nepalimonth("aShaD").value, 3)
|
|
83
|
+
self.assertEqual(nepalimonth("shaRwaN").value, 4)
|
|
84
|
+
self.assertEqual(nepalimonth("BhadRa").value, 5)
|
|
85
|
+
self.assertEqual(nepalimonth("ashWIn").value, 6)
|
|
86
|
+
self.assertEqual(nepalimonth("KArtIk").value, 7)
|
|
87
|
+
self.assertEqual(nepalimonth("MaNGsir").value, 8)
|
|
88
|
+
self.assertEqual(nepalimonth("POush").value, 9)
|
|
89
|
+
self.assertEqual(nepalimonth("maGh").value, 10)
|
|
90
|
+
self.assertEqual(nepalimonth("faLgUn").value, 11)
|
|
91
|
+
self.assertEqual(nepalimonth("ChaItRa").value, 12)
|
|
92
|
+
|
|
93
|
+
def test_nepalimonth_parse_valid_month_in_nepali(self):
|
|
94
|
+
self.assertEqual(nepalimonth("बैशाख").value, 1)
|
|
95
|
+
self.assertEqual(nepalimonth("जेठ").value, 2)
|
|
96
|
+
self.assertEqual(nepalimonth("असार").value, 3)
|
|
97
|
+
self.assertEqual(nepalimonth("साउन").value, 4)
|
|
98
|
+
self.assertEqual(nepalimonth("भदौ").value, 5)
|
|
99
|
+
self.assertEqual(nepalimonth("असोज").value, 6)
|
|
100
|
+
self.assertEqual(nepalimonth("कात्तिक").value, 7)
|
|
101
|
+
self.assertEqual(nepalimonth("मंसिर").value, 8)
|
|
102
|
+
self.assertEqual(nepalimonth("पुस").value, 9)
|
|
103
|
+
self.assertEqual(nepalimonth("माघ").value, 10)
|
|
104
|
+
self.assertEqual(nepalimonth("फागुन").value, 11)
|
|
105
|
+
self.assertEqual(nepalimonth("चैत").value, 12)
|
|
106
|
+
|
|
107
|
+
def test_nepalimonth_fails_for_invalid_data_type(self):
|
|
108
|
+
with self.assertRaises(ValueError):
|
|
109
|
+
nepalimonth(1.0) # type: ignore
|
|
110
|
+
with self.assertRaises(ValueError):
|
|
111
|
+
nepalimonth(2j + 1) # type: ignore
|
|
112
|
+
with self.assertRaises(ValueError):
|
|
113
|
+
nepalimonth([]) # type: ignore
|
|
114
|
+
|
|
115
|
+
def test_nepalimonth_str(self):
|
|
116
|
+
self.assertEqual(str(nepalimonth(1)), nepalimonth(1).name)
|
|
117
|
+
|
|
118
|
+
def test_nepalimonth_repr(self):
|
|
119
|
+
self.assertEqual(repr(nepalimonth(1)), "<nepalimonth: 1>")
|
|
120
|
+
|
|
121
|
+
def test_nepalimonth_name(self):
|
|
122
|
+
self.assertEqual(nepalimonth(1).name, "Baishakh")
|
|
123
|
+
self.assertEqual(nepalimonth(12).name, "Chaitra")
|
|
124
|
+
|
|
125
|
+
def test_nepalimonth_name_ne(self):
|
|
126
|
+
self.assertEqual(nepalimonth(1).name_ne, "बैशाख")
|
|
127
|
+
self.assertEqual(nepalimonth(12).name_ne, "चैत")
|
|
128
|
+
|
|
129
|
+
def test_nepalimonth_variable_cache(self):
|
|
130
|
+
self.assertEqual(id(nepalimonth(1)), id(nepalimonth(1)))
|
|
131
|
+
self.assertEqual(id(nepalimonth(12)), id(nepalimonth(12)))
|
|
132
|
+
|
|
133
|
+
def test_nepalimonth_int(self):
|
|
134
|
+
self.assertEqual(int(nepalimonth(1)), 1)
|
|
135
|
+
self.assertEqual(int(nepalimonth(12)), 12)
|
|
136
|
+
|
|
137
|
+
def test_nepalimonth_equal_with_nepalimonth(self):
|
|
138
|
+
self.assertEqual(nepalimonth(1), nepalimonth(1))
|
|
139
|
+
self.assertEqual(nepalimonth(12), nepalimonth(12))
|
|
140
|
+
|
|
141
|
+
def test_nepalimonth_not_equal(self):
|
|
142
|
+
self.assertNotEqual(nepalimonth(1), nepalimonth(2))
|
|
143
|
+
self.assertNotEqual(nepalimonth(1), 2)
|
|
144
|
+
|
|
145
|
+
def test_nepalimonth_equal_with_int(self):
|
|
146
|
+
self.assertEqual(nepalimonth(1), 1)
|
|
147
|
+
self.assertEqual(nepalimonth(12), 12)
|
|
148
|
+
self.assertEqual(1, nepalimonth(1))
|
|
149
|
+
self.assertEqual(12, nepalimonth(12))
|
|
150
|
+
|
|
151
|
+
def test_nepalimonth_not_equal_with_invalid_object(self):
|
|
152
|
+
self.assertNotEqual(nepalimonth(1), "invalid")
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"""
|
|
2
|
+
To run only this unit test use the command below.
|
|
3
|
+
|
|
4
|
+
python -m unittest nepali/tests/test_nepaliweek.py -v
|
|
5
|
+
"""
|
|
6
|
+
import unittest
|
|
7
|
+
|
|
8
|
+
from nepali.datetime import nepaliweek
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TestNepaliWeek(unittest.TestCase):
|
|
12
|
+
# parse
|
|
13
|
+
def test_nepaliweek_parses_int(self):
|
|
14
|
+
self.assertEqual(nepaliweek(0).value, 0)
|
|
15
|
+
self.assertEqual(nepaliweek(6).value, 6)
|
|
16
|
+
|
|
17
|
+
def test_nepaliweek_fails_for_int_less_than_0(self):
|
|
18
|
+
with self.assertRaises(ValueError) as ex:
|
|
19
|
+
nepaliweek(-100)
|
|
20
|
+
self.assertEqual(str(ex.exception), "Invalid week: -100")
|
|
21
|
+
|
|
22
|
+
def test_nepaliweek_fails_for_int_more_than_6(self):
|
|
23
|
+
with self.assertRaises(ValueError) as ex:
|
|
24
|
+
nepaliweek(7)
|
|
25
|
+
self.assertEqual(str(ex.exception), "Invalid week: 7")
|
|
26
|
+
with self.assertRaises(ValueError):
|
|
27
|
+
nepaliweek(100)
|
|
28
|
+
|
|
29
|
+
def test_nepaliweek_parses_str_int_number(self):
|
|
30
|
+
week = nepaliweek("1")
|
|
31
|
+
self.assertEqual(week.value, 1)
|
|
32
|
+
|
|
33
|
+
def test_nepaliweek_fails_for_str_int_out_of_range(self):
|
|
34
|
+
with self.assertRaises(ValueError):
|
|
35
|
+
nepaliweek("-100")
|
|
36
|
+
with self.assertRaises(ValueError):
|
|
37
|
+
nepaliweek("7")
|
|
38
|
+
with self.assertRaises(ValueError):
|
|
39
|
+
nepaliweek("100")
|
|
40
|
+
|
|
41
|
+
def test_nepaliweek_fails_for_invalid_str(self):
|
|
42
|
+
with self.assertRaises(ValueError):
|
|
43
|
+
nepaliweek("hello")
|
|
44
|
+
with self.assertRaises(ValueError):
|
|
45
|
+
nepaliweek("1.0")
|
|
46
|
+
|
|
47
|
+
def test_nepaliweek_parse_valid_week_in_english(self):
|
|
48
|
+
self.assertEqual(nepaliweek("Sunday").value, 0)
|
|
49
|
+
self.assertEqual(nepaliweek("Monday").value, 1)
|
|
50
|
+
self.assertEqual(nepaliweek("Tuesday").value, 2)
|
|
51
|
+
self.assertEqual(nepaliweek("Wednesday").value, 3)
|
|
52
|
+
self.assertEqual(nepaliweek("Thursday").value, 4)
|
|
53
|
+
self.assertEqual(nepaliweek("Friday").value, 5)
|
|
54
|
+
self.assertEqual(nepaliweek("Saturday").value, 6)
|
|
55
|
+
|
|
56
|
+
def test_nepaliweek_parse_valid_week_in_english_lower_case(self):
|
|
57
|
+
self.assertEqual(nepaliweek("sunday").value, 0)
|
|
58
|
+
self.assertEqual(nepaliweek("monday").value, 1)
|
|
59
|
+
self.assertEqual(nepaliweek("tuesday").value, 2)
|
|
60
|
+
self.assertEqual(nepaliweek("wednesday").value, 3)
|
|
61
|
+
self.assertEqual(nepaliweek("thursday").value, 4)
|
|
62
|
+
self.assertEqual(nepaliweek("friday").value, 5)
|
|
63
|
+
self.assertEqual(nepaliweek("saturday").value, 6)
|
|
64
|
+
|
|
65
|
+
def test_nepaliweek_parse_valid_week_in_english_case_insensitive(self):
|
|
66
|
+
self.assertEqual(nepaliweek("sUnday").value, 0)
|
|
67
|
+
self.assertEqual(nepaliweek("moNday").value, 1)
|
|
68
|
+
self.assertEqual(nepaliweek("tueSday").value, 2)
|
|
69
|
+
self.assertEqual(nepaliweek("wednEsday").value, 3)
|
|
70
|
+
self.assertEqual(nepaliweek("thursDay").value, 4)
|
|
71
|
+
self.assertEqual(nepaliweek("fridaY").value, 5)
|
|
72
|
+
self.assertEqual(nepaliweek("saTurday").value, 6)
|
|
73
|
+
|
|
74
|
+
def test_nepaliweek_parse_valid_week_in_english_abbreviated_name(self):
|
|
75
|
+
self.assertEqual(nepaliweek("Sun").value, 0)
|
|
76
|
+
self.assertEqual(nepaliweek("Mon").value, 1)
|
|
77
|
+
self.assertEqual(nepaliweek("Tue").value, 2)
|
|
78
|
+
self.assertEqual(nepaliweek("Wed").value, 3)
|
|
79
|
+
self.assertEqual(nepaliweek("Thu").value, 4)
|
|
80
|
+
self.assertEqual(nepaliweek("Fri").value, 5)
|
|
81
|
+
self.assertEqual(nepaliweek("Sat").value, 6)
|
|
82
|
+
|
|
83
|
+
def test_nepaliweek_parse_valid_week_in_nepali(self):
|
|
84
|
+
self.assertEqual(nepaliweek("आइतबार").value, 0)
|
|
85
|
+
self.assertEqual(nepaliweek("सोमबार").value, 1)
|
|
86
|
+
self.assertEqual(nepaliweek("मंगलबार").value, 2)
|
|
87
|
+
self.assertEqual(nepaliweek("बुधबार").value, 3)
|
|
88
|
+
self.assertEqual(nepaliweek("बिहीबार").value, 4)
|
|
89
|
+
self.assertEqual(nepaliweek("शुक्रबार").value, 5)
|
|
90
|
+
self.assertEqual(nepaliweek("शनिबार").value, 6)
|
|
91
|
+
|
|
92
|
+
def test_nepaliweek_parse_valid_week_in_nepali_abbreviated_name(self):
|
|
93
|
+
self.assertEqual(nepaliweek("आइत").value, 0)
|
|
94
|
+
self.assertEqual(nepaliweek("सोम").value, 1)
|
|
95
|
+
self.assertEqual(nepaliweek("मंगल").value, 2)
|
|
96
|
+
self.assertEqual(nepaliweek("बुध").value, 3)
|
|
97
|
+
self.assertEqual(nepaliweek("बिही").value, 4)
|
|
98
|
+
self.assertEqual(nepaliweek("शुक्र").value, 5)
|
|
99
|
+
self.assertEqual(nepaliweek("शनि").value, 6)
|
|
100
|
+
|
|
101
|
+
def test_nepaliweek_fails_for_invalid_data_type(self):
|
|
102
|
+
with self.assertRaises(ValueError):
|
|
103
|
+
nepaliweek(1.0) # type: ignore
|
|
104
|
+
with self.assertRaises(ValueError):
|
|
105
|
+
nepaliweek(2j + 1) # type: ignore
|
|
106
|
+
with self.assertRaises(ValueError):
|
|
107
|
+
nepaliweek([]) # type: ignore
|
|
108
|
+
|
|
109
|
+
def test_nepaliweek_str(self):
|
|
110
|
+
self.assertEqual(str(nepaliweek(1)), nepaliweek(1).name)
|
|
111
|
+
|
|
112
|
+
def test_nepaliweek_repr(self):
|
|
113
|
+
self.assertEqual(repr(nepaliweek(1)), "<nepaliweek: 1>")
|
|
114
|
+
|
|
115
|
+
def test_nepaliweek_name(self):
|
|
116
|
+
self.assertEqual(nepaliweek(0).name, "Sunday")
|
|
117
|
+
self.assertEqual(nepaliweek(6).name, "Saturday")
|
|
118
|
+
|
|
119
|
+
def test_nepaliweek_abbr(self):
|
|
120
|
+
self.assertEqual(nepaliweek(0).abbr, "Sun")
|
|
121
|
+
self.assertEqual(nepaliweek(6).abbr, "Sat")
|
|
122
|
+
|
|
123
|
+
def test_nepaliweek_name_ne(self):
|
|
124
|
+
self.assertEqual(nepaliweek(0).name_ne, "आइतबार")
|
|
125
|
+
self.assertEqual(nepaliweek(6).name_ne, "शनिबार")
|
|
126
|
+
|
|
127
|
+
def test_nepaliweek_abbr_ne(self):
|
|
128
|
+
self.assertEqual(nepaliweek(0).abbr_ne, "आइत")
|
|
129
|
+
self.assertEqual(nepaliweek(6).abbr_ne, "शनि")
|
|
130
|
+
|
|
131
|
+
def test_nepaliweek_variable_cache(self):
|
|
132
|
+
self.assertEqual(id(nepaliweek(0)), id(nepaliweek(0)))
|
|
133
|
+
self.assertEqual(id(nepaliweek(6)), id(nepaliweek(6)))
|
|
134
|
+
|
|
135
|
+
def test_nepaliweek_int(self):
|
|
136
|
+
self.assertEqual(int(nepaliweek(0)), 0)
|
|
137
|
+
self.assertEqual(int(nepaliweek(6)), 6)
|
|
138
|
+
|
|
139
|
+
def test_nepaliweek_equal_with_nepaliweek(self):
|
|
140
|
+
self.assertEqual(nepaliweek(0), nepaliweek(0))
|
|
141
|
+
self.assertEqual(nepaliweek(6), nepaliweek(6))
|
|
142
|
+
|
|
143
|
+
def test_nepaliweek_not_equal(self):
|
|
144
|
+
self.assertNotEqual(nepaliweek(0), nepaliweek(2))
|
|
145
|
+
self.assertNotEqual(nepaliweek(1), 2)
|
|
146
|
+
|
|
147
|
+
def test_nepaliweek_equal_with_int(self):
|
|
148
|
+
self.assertEqual(nepaliweek(0), 0)
|
|
149
|
+
self.assertEqual(nepaliweek(6), 6)
|
|
150
|
+
self.assertEqual(1, nepaliweek(1))
|
|
151
|
+
self.assertEqual(6, nepaliweek(6))
|
|
152
|
+
|
|
153
|
+
def test_nepaliweek_not_equal_with_invalid_object(self):
|
|
154
|
+
self.assertNotEqual(nepaliweek(1), "invalid")
|