forked from rense/django-rest-camel
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtests.py
141 lines (123 loc) · 3.71 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from unittest.case import TestCase
from rest_camel.util import camelize, underscorize
class UnderscoreToCamelTestCase(TestCase):
def test_under_to_camel_dict(self):
input = {
"title_display": 1
}
output = {
"titleDisplay": 1
}
result = camelize(input)
self.assertEqual(result, output)
self.assertIsNot(result, input, "should not change original dict")
def test_under_to_camel_list(self):
input = [
{"title_display": 1}
]
output = [
{"titleDisplay": 1}
]
result = camelize(input)
self.assertEqual(result, output)
self.assertIsNot(result, input, "should not change original list")
def test_under_to_camel_tuple(self):
input = (
{"title_display": 1},
)
output = (
{"titleDisplay": 1},
)
result = camelize(input)
self.assertEqual(result, output)
self.assertIsNot(result, input, "should not change original tuple")
def test_under_to_camel_nested(self):
input = {
"title_display": 1,
"a_list": [1, "two_three", {"three_four": 5}],
"a_tuple": ("one_two", 3)
}
output = {
"titleDisplay": 1,
"aList": [1, "two_three", {"threeFour": 5}],
"aTuple": ("one_two", 3)
}
self.assertEqual(camelize(input), output)
def test_tuples(self):
input = {
"multiple_values": (1, 2)
}
output = {
"multipleValues": (1, 2)
}
self.assertEqual(camelize(input), output)
def test_integer_key(self):
input = {
1: 1
}
output = {
"1": 1
}
self.assertEqual(camelize(input), output)
class CamelToUnderscoreTestCase(TestCase):
def test_camel_to_under_dict(self):
input = {
"titleDisplay": 1
}
output = {
"title_display": 1
}
result = underscorize(input)
self.assertEqual(result, output)
self.assertIsNot(result, input, "should not change original dict")
def test_camel_to_under_list(self):
input = [
{"titleDisplay": 1}
]
output = [
{"title_display": 1}
]
result = underscorize(input)
self.assertEqual(result, output)
self.assertIsNot(result, input, "should not change original list")
def test_camel_to_under_tuple(self):
input = [
{"titleDisplay": 1}
]
output = [
{"title_display": 1}
]
result = underscorize(input)
self.assertEqual(result, output)
self.assertIsNot(result, input, "should not change original tuple")
def test_camel_to_under_nested(self):
input = {
"titleDisplay": 1,
"aList": [1, "two_three", {"threeFour": 5}],
"aTuple": ("one_two", 3)
}
output = {
"title_display": 1,
"a_list": [1, "two_three", {"three_four": 5}],
"a_tuple": ("one_two", 3)
}
self.assertEqual(underscorize(input), output)
def test_integer_key(self):
input = [
{1: 1}
]
output = [
{"1": 1}
]
result = underscorize(input)
self.assertEqual(result, output)
class CompatibilityTest(TestCase):
def test_compatibility(self):
input = {
"title_display": 1,
"a_list": [1, "two_three", {"three_four": 5}],
"a_tuple": ("one_two", 3)
}
self.assertEqual(underscorize(camelize(input)), input)