| 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 |