Conditions | 1 |
Total Lines | 73 |
Code Lines | 59 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | # -*- coding: utf-8 -*- |
||
110 | def test_pairwise_similarity_statistics(self): |
||
111 | """Test abydos.clustering.pairwise_similarity_statistics.""" |
||
112 | (pw_max, pw_min, pw_mean, |
||
113 | pw_std) = pairwise_similarity_statistics(NIALL, NIALL) |
||
114 | self.assertAlmostEqual(pw_max, 1.0) |
||
115 | self.assertAlmostEqual(pw_min, 0.11764705882352944) |
||
116 | self.assertAlmostEqual(pw_mean, 0.4188369879201684) |
||
117 | self.assertAlmostEqual(pw_std, 0.2265099631340623) |
||
118 | |||
119 | (pw_max, pw_min, pw_mean, |
||
120 | pw_std) = pairwise_similarity_statistics(NIALL, ('Kneal',)) |
||
121 | self.assertAlmostEqual(pw_max, 0.8333333333333334) |
||
122 | self.assertAlmostEqual(pw_min, 0.11764705882352944) |
||
123 | self.assertAlmostEqual(pw_mean, 0.30474877450980387) |
||
124 | self.assertAlmostEqual(pw_std, 0.1842666797571549) |
||
125 | |||
126 | # Test symmetric |
||
127 | (pw_max, pw_min, pw_mean, |
||
128 | pw_std) = pairwise_similarity_statistics(NIALL, NIALL, symmetric=True) |
||
129 | self.assertAlmostEqual(pw_max, 1.0) |
||
130 | self.assertAlmostEqual(pw_min, 0.11764705882352944) |
||
131 | self.assertAlmostEqual(pw_mean, 0.4188369879201679) |
||
132 | self.assertAlmostEqual(pw_std, 0.22650996313406255) |
||
133 | |||
134 | (pw_max, pw_min, pw_mean, |
||
135 | pw_std) = pairwise_similarity_statistics(NIALL, ('Kneal',), |
||
136 | symmetric=True) |
||
137 | self.assertAlmostEqual(pw_max, 0.8333333333333334) |
||
138 | self.assertAlmostEqual(pw_min, 0.11764705882352944) |
||
139 | self.assertAlmostEqual(pw_mean, 0.304748774509804) |
||
140 | self.assertAlmostEqual(pw_std, 0.18426667975715486) |
||
141 | |||
142 | # Test with splittable strings |
||
143 | (pw_max, pw_min, pw_mean, |
||
144 | pw_std) = pairwise_similarity_statistics('The quick brown fox', |
||
145 | 'jumped over the lazy dog.') |
||
146 | self.assertAlmostEqual(pw_max, 0.6666666666666667) |
||
147 | self.assertAlmostEqual(pw_min, 0.0) |
||
148 | self.assertAlmostEqual(pw_mean, 0.08499999999999999) |
||
149 | self.assertAlmostEqual(pw_std, 0.16132265804901677) |
||
150 | |||
151 | (pw_max, pw_min, pw_mean, |
||
152 | pw_std) = pairwise_similarity_statistics('The', 'jumped') |
||
153 | self.assertAlmostEqual(pw_max, 0.16666666666666663) |
||
154 | self.assertAlmostEqual(pw_min, 0.16666666666666663) |
||
155 | self.assertAlmostEqual(pw_mean, 0.16666666666666663) |
||
156 | self.assertAlmostEqual(pw_std, 0.0) |
||
157 | |||
158 | # Test with a set metric |
||
159 | (pw_max, pw_min, pw_mean, |
||
160 | pw_std) = pairwise_similarity_statistics(NIALL, NIALL, |
||
161 | metric=sim_tanimoto) |
||
162 | self.assertAlmostEqual(pw_max, 1.0) |
||
163 | self.assertAlmostEqual(pw_min, 0.0) |
||
164 | self.assertAlmostEqual(pw_mean, 0.23226906681010506) |
||
165 | self.assertAlmostEqual(pw_std, 0.24747101181262784) |
||
166 | |||
167 | # Test using hmean' |
||
168 | (pw_max, pw_min, pw_mean, |
||
169 | pw_std) = pairwise_similarity_statistics(NIALL, NIALL, |
||
170 | mean_func=stats.hmean) |
||
171 | self.assertAlmostEqual(pw_max, 1.0) |
||
172 | self.assertAlmostEqual(pw_min, 0.11764705882352944) |
||
173 | self.assertAlmostEqual(pw_mean, 0.30718771249150056) |
||
174 | self.assertAlmostEqual(pw_std, 0.25253182790044676) |
||
175 | |||
176 | # Test exceptions |
||
177 | self.assertRaises(ValueError, pairwise_similarity_statistics, NIALL, |
||
178 | NIALL, mean_func=None) |
||
179 | self.assertRaises(ValueError, pairwise_similarity_statistics, NIALL, |
||
180 | NIALL, metric=None) |
||
181 | self.assertRaises(ValueError, pairwise_similarity_statistics, 5, NIALL) |
||
182 | self.assertRaises(ValueError, pairwise_similarity_statistics, NIALL, 5) |
||
183 | |||
186 |