From 290ff65f1ba39abc53c2ce43a2ae2806f7a0db22 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Mon, 3 Jul 2023 15:21:09 +0100 Subject: [PATCH] Fix bug in filtering averages in lighting description --- .../epc_attributes/LightingAttributes.py | 4 +- .../test_lighting_attributes_cases.py | 210 ++++++++++++++++++ 2 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 model_data/tests/test_data/test_lighting_attributes_cases.py diff --git a/model_data/epc_attributes/LightingAttributes.py b/model_data/epc_attributes/LightingAttributes.py index c3536f6e..7ce8b4d5 100644 --- a/model_data/epc_attributes/LightingAttributes.py +++ b/model_data/epc_attributes/LightingAttributes.py @@ -20,7 +20,9 @@ class LightingAttributes: if ('good lighting efficiency' in description) or ('excellent lighting efficiency' in description) or \ ('below average lighting efficiency' in description): return { - "low_energy_proportion": self.averages[self.averages == description]["low-energy-lighting"].values[0] + "low_energy_proportion": self.averages[ + self.averages["lighting-description"] == description + ]["low-energy-lighting"].values[0] } match = re.search(r'\d+', description) diff --git a/model_data/tests/test_data/test_lighting_attributes_cases.py b/model_data/tests/test_data/test_lighting_attributes_cases.py new file mode 100644 index 00000000..76d5950d --- /dev/null +++ b/model_data/tests/test_data/test_lighting_attributes_cases.py @@ -0,0 +1,210 @@ +test_cases = [{'original_description': 'Low energy lighting in all fixed outlets', 'low_energy_proportion': 1}, + {'original_description': 'Low energy lighting in 88% of fixed outlets', 'low_energy_proportion': 0.88}, + {'original_description': 'No low energy lighting', 'low_energy_proportion': 0}, + {'original_description': 'Low energy lighting in 60% of fixed outlets', 'low_energy_proportion': 0.6}, + {'original_description': 'Low energy lighting in 80% of fixed outlets', 'low_energy_proportion': 0.8}, + {'original_description': 'Low energy lighting in 83% of fixed outlets', 'low_energy_proportion': 0.83}, + {'original_description': 'Low energy lighting in 20% of fixed outlets', 'low_energy_proportion': 0.2}, + {'original_description': 'Low energy lighting in 67% of fixed outlets', 'low_energy_proportion': 0.67}, + {'original_description': 'Low energy lighting in 40% of fixed outlets', 'low_energy_proportion': 0.4}, + {'original_description': 'Low energy lighting in 11% of fixed outlets', 'low_energy_proportion': 0.11}, + {'original_description': 'Low energy lighting in 57% of fixed outlets', 'low_energy_proportion': 0.57}, + {'original_description': 'Low energy lighting in 29% of fixed outlets', 'low_energy_proportion': 0.29}, + {'original_description': 'Low energy lighting in 71% of fixed outlets', 'low_energy_proportion': 0.71}, + {'original_description': 'Low energy lighting in 19% of fixed outlets', 'low_energy_proportion': 0.19}, + {'original_description': 'Low energy lighting in 30% of fixed outlets', 'low_energy_proportion': 0.3}, + {'original_description': 'Low energy lighting in 92% of fixed outlets', 'low_energy_proportion': 0.92}, + {'original_description': 'Low energy lighting in 93% of fixed outlets', 'low_energy_proportion': 0.93}, + {'original_description': 'Low energy lighting in 95% of fixed outlets', 'low_energy_proportion': 0.95}, + {'original_description': 'Low energy lighting in 85% of fixed outlets', 'low_energy_proportion': 0.85}, + {'original_description': 'Low energy lighting in 86% of fixed outlets', 'low_energy_proportion': 0.86}, + {'original_description': 'Low energy lighting in 50% of fixed outlets', 'low_energy_proportion': 0.5}, + {'original_description': 'Low energy lighting in 25% of fixed outlets', 'low_energy_proportion': 0.25}, + {'original_description': 'Low energy lighting in 82% of fixed outlets', 'low_energy_proportion': 0.82}, + {'original_description': 'Low energy lighting in 78% of fixed outlets', 'low_energy_proportion': 0.78}, + {'original_description': 'Low energy lighting in 38% of fixed outlets', 'low_energy_proportion': 0.38}, + {'original_description': 'Low energy lighting in 90% of fixed outlets', 'low_energy_proportion': 0.9}, + {'original_description': 'Low energy lighting in 63% of fixed outlets', 'low_energy_proportion': 0.63}, + {'original_description': 'Low energy lighting in 75% of fixed outlets', 'low_energy_proportion': 0.75}, + {'original_description': 'Low energy lighting in 36% of fixed outlets', 'low_energy_proportion': 0.36}, + {'original_description': 'Low energy lighting in 43% of fixed outlets', 'low_energy_proportion': 0.43}, + {'original_description': 'Low energy lighting in 70% of fixed outlets', 'low_energy_proportion': 0.7}, + {'original_description': 'Low energy lighting in 33% of fixed outlets', 'low_energy_proportion': 0.33}, + {'original_description': 'Low energy lighting in 91% of fixed outlets', 'low_energy_proportion': 0.91}, + {'original_description': 'Low energy lighting in 42% of fixed outlets', 'low_energy_proportion': 0.42}, + {'original_description': 'Low energy lighting in 46% of fixed outlets', 'low_energy_proportion': 0.46}, + {'original_description': 'Low energy lighting in 6% of fixed outlets', 'low_energy_proportion': 0.06}, + {'original_description': 'Low energy lighting in 81% of fixed outlets', 'low_energy_proportion': 0.81}, + {'original_description': 'Low energy lighting in 65% of fixed outlets', 'low_energy_proportion': 0.65}, + {'original_description': 'Low energy lighting in 56% of fixed outlets', 'low_energy_proportion': 0.56}, + {'original_description': 'Low energy lighting in 21% of fixed outlets', 'low_energy_proportion': 0.21}, + {'original_description': 'Low energy lighting in 44% of fixed outlets', 'low_energy_proportion': 0.44}, + {'original_description': 'Low energy lighting in 79% of fixed outlets', 'low_energy_proportion': 0.79}, + {'original_description': 'Low energy lighting in 73% of fixed outlets', 'low_energy_proportion': 0.73}, + {'original_description': 'Low energy lighting in 27% of fixed outlets', 'low_energy_proportion': 0.27}, + {'original_description': 'Low energy lighting in 94% of fixed outlets', 'low_energy_proportion': 0.94}, + {'original_description': 'Low energy lighting in 47% of fixed outlets', 'low_energy_proportion': 0.47}, + {'original_description': 'Low energy lighting in 69% of fixed outlets', 'low_energy_proportion': 0.69}, + {'original_description': 'Low energy lighting in 77% of fixed outlets', 'low_energy_proportion': 0.77}, + {'original_description': 'Low energy lighting in 45% of fixed outlets', 'low_energy_proportion': 0.45}, + {'original_description': 'Low energy lighting in 89% of fixed outlets', 'low_energy_proportion': 0.89}, + {'original_description': 'Low energy lighting in 54% of fixed outlets', 'low_energy_proportion': 0.54}, + {'original_description': 'Low energy lighting in 87% of fixed outlets', 'low_energy_proportion': 0.87}, + {'original_description': 'Low energy lighting in 22% of fixed outlets', 'low_energy_proportion': 0.22}, + {'original_description': 'Low energy lighting in 53% of fixed outlets', 'low_energy_proportion': 0.53}, + {'original_description': 'Low energy lighting in 55% of fixed outlets', 'low_energy_proportion': 0.55}, + {'original_description': 'Low energy lighting in 64% of fixed outlets', 'low_energy_proportion': 0.64}, + {'original_description': 'Low energy lighting in 58% of fixed outlets', 'low_energy_proportion': 0.58}, + {'original_description': 'Low energy lighting in 84% of fixed outlets', 'low_energy_proportion': 0.84}, + {'original_description': 'Low energy lighting in 17% of fixed outlets', 'low_energy_proportion': 0.17}, + {'original_description': 'Low energy lighting in 7% of fixed outlets', 'low_energy_proportion': 0.07}, + {'original_description': 'Low energy lighting in 76% of fixed outlets', 'low_energy_proportion': 0.76}, + {'original_description': 'Low energy lighting in 18% of fixed outlets', 'low_energy_proportion': 0.18}, + {'original_description': 'Low energy lighting in 31% of fixed outlets', 'low_energy_proportion': 0.31}, + {'original_description': 'Low energy lighting in 62% of fixed outlets', 'low_energy_proportion': 0.62}, + {'original_description': 'Low energy lighting in 14% of fixed outlets', 'low_energy_proportion': 0.14}, + {'original_description': 'Low energy lighting in 61% of fixed outlets', 'low_energy_proportion': 0.61}, + {'original_description': 'Low energy lighting in 9% of fixed outlets', 'low_energy_proportion': 0.09}, + {'original_description': 'Low energy lighting in 68% of fixed outlets', 'low_energy_proportion': 0.68}, + {'original_description': 'Low energy lighting in 13% of fixed outlets', 'low_energy_proportion': 0.13}, + {'original_description': 'Low energy lighting in 52% of fixed outlets', 'low_energy_proportion': 0.52}, + {'original_description': 'Low energy lighting in 24% of fixed outlets', 'low_energy_proportion': 0.24}, + {'original_description': 'Low energy lighting in 48% of fixed outlets', 'low_energy_proportion': 0.48}, + {'original_description': 'Low energy lighting in 41% of fixed outlets', 'low_energy_proportion': 0.41}, + {'original_description': 'Low energy lighting in 8% of fixed outlets', 'low_energy_proportion': 0.08}, + {'original_description': 'Low energy lighting in 72% of fixed outlets', 'low_energy_proportion': 0.72}, + {'original_description': 'Low energy lighting in 23% of fixed outlets', 'low_energy_proportion': 0.23}, + {'original_description': 'Low energy lighting in 96% of fixed outlets', 'low_energy_proportion': 0.96}, + {'original_description': 'Low energy lighting in 12% of fixed outlets', 'low_energy_proportion': 0.12}, + {'original_description': 'Low energy lighting in 15% of fixed outlets', 'low_energy_proportion': 0.15}, + {'original_description': 'Low energy lighting in 39% of fixed outlets', 'low_energy_proportion': 0.39}, + {'original_description': 'Low energy lighting in 32% of fixed outlets', 'low_energy_proportion': 0.32}, + {'original_description': 'Low energy lighting in 74% of fixed outlets', 'low_energy_proportion': 0.74}, + {'original_description': 'Low energy lighting in 49% of fixed outlets', 'low_energy_proportion': 0.49}, + {'original_description': 'Low energy lighting in 97% of fixed outlets', 'low_energy_proportion': 0.97}, + {'original_description': 'Low energy lighting in 10% of fixed outlets', 'low_energy_proportion': 0.1}, + {'original_description': 'Low energy lighting in 35% of fixed outlets', 'low_energy_proportion': 0.35}, + {'original_description': 'Low energy lighting in 5% of fixed outlets', 'low_energy_proportion': 0.05}, + {'original_description': 'Low energy lighting in 59% of fixed outlets', 'low_energy_proportion': 0.59}, + {'original_description': 'Low energy lighting in 37% of fixed outlets', 'low_energy_proportion': 0.37}, + {'original_description': 'Low energy lighting in 16% of fixed outlets', 'low_energy_proportion': 0.16}, + {'original_description': 'Low energy lighting in 4% of fixed outlets', 'low_energy_proportion': 0.04}, + {'original_description': 'Low energy lighting in 3% of fixed outlets', 'low_energy_proportion': 0.03}, + {'original_description': 'Low energy lighting in 28% of fixed outlets', 'low_energy_proportion': 0.28}, + {'original_description': 'Low energy lighting in 26% of fixed outlets', 'low_energy_proportion': 0.26}, + {'original_description': 'Low energy lighting in 34% of fixed outlets', 'low_energy_proportion': 0.34}, + {'original_description': 'Low energy lighting in 66% of fixed outlets', 'low_energy_proportion': 0.66}, + {'original_description': 'Low energy lighting in 98% of fixed outlets', 'low_energy_proportion': 0.98}, + {'original_description': 'Low energy lighting in 51% of fixed outlets', 'low_energy_proportion': 0.51}, + {'original_description': 'Low energy lighting in 99% of fixed outlets', 'low_energy_proportion': 0.99}, + {'original_description': 'Low energy lighting in 100% of fixed outlets', 'low_energy_proportion': 1.0}, + {'original_description': 'Good lighting efficiency', 'low_energy_proportion': nan}, + {'original_description': 'Below average lighting efficiency', 'low_energy_proportion': nan}, + {'original_description': 'Excelent lighting efficiency', 'low_energy_proportion': 0}, + {'original_description': 'Low energy lighting in 2% of fixed outlets', 'low_energy_proportion': 0.02}, + {'original_description': 'No Low energy lighting', 'low_energy_proportion': 0}, + {'original_description': 'Low energy lighting in all fixed outlets', 'low_energy_proportion': 1}, + {'original_description': 'Low energy lighting in 88% of fixed outlets', 'low_energy_proportion': 0.88}, + {'original_description': 'No low energy lighting', 'low_energy_proportion': 0}, + {'original_description': 'Low energy lighting in 60% of fixed outlets', 'low_energy_proportion': 0.6}, + {'original_description': 'Low energy lighting in 80% of fixed outlets', 'low_energy_proportion': 0.8}, + {'original_description': 'Low energy lighting in 83% of fixed outlets', 'low_energy_proportion': 0.83}, + {'original_description': 'Low energy lighting in 20% of fixed outlets', 'low_energy_proportion': 0.2}, + {'original_description': 'Low energy lighting in 67% of fixed outlets', 'low_energy_proportion': 0.67}, + {'original_description': 'Low energy lighting in 40% of fixed outlets', 'low_energy_proportion': 0.4}, + {'original_description': 'Low energy lighting in 11% of fixed outlets', 'low_energy_proportion': 0.11}, + {'original_description': 'Low energy lighting in 57% of fixed outlets', 'low_energy_proportion': 0.57}, + {'original_description': 'Low energy lighting in 29% of fixed outlets', 'low_energy_proportion': 0.29}, + {'original_description': 'Low energy lighting in 71% of fixed outlets', 'low_energy_proportion': 0.71}, + {'original_description': 'Low energy lighting in 19% of fixed outlets', 'low_energy_proportion': 0.19}, + {'original_description': 'Low energy lighting in 30% of fixed outlets', 'low_energy_proportion': 0.3}, + {'original_description': 'Low energy lighting in 92% of fixed outlets', 'low_energy_proportion': 0.92}, + {'original_description': 'Low energy lighting in 93% of fixed outlets', 'low_energy_proportion': 0.93}, + {'original_description': 'Low energy lighting in 95% of fixed outlets', 'low_energy_proportion': 0.95}, + {'original_description': 'Low energy lighting in 85% of fixed outlets', 'low_energy_proportion': 0.85}, + {'original_description': 'Low energy lighting in 86% of fixed outlets', 'low_energy_proportion': 0.86}, + {'original_description': 'Low energy lighting in 50% of fixed outlets', 'low_energy_proportion': 0.5}, + {'original_description': 'Low energy lighting in 25% of fixed outlets', 'low_energy_proportion': 0.25}, + {'original_description': 'Low energy lighting in 82% of fixed outlets', 'low_energy_proportion': 0.82}, + {'original_description': 'Low energy lighting in 78% of fixed outlets', 'low_energy_proportion': 0.78}, + {'original_description': 'Low energy lighting in 38% of fixed outlets', 'low_energy_proportion': 0.38}, + {'original_description': 'Low energy lighting in 90% of fixed outlets', 'low_energy_proportion': 0.9}, + {'original_description': 'Low energy lighting in 63% of fixed outlets', 'low_energy_proportion': 0.63}, + {'original_description': 'Low energy lighting in 75% of fixed outlets', 'low_energy_proportion': 0.75}, + {'original_description': 'Low energy lighting in 36% of fixed outlets', 'low_energy_proportion': 0.36}, + {'original_description': 'Low energy lighting in 43% of fixed outlets', 'low_energy_proportion': 0.43}, + {'original_description': 'Low energy lighting in 70% of fixed outlets', 'low_energy_proportion': 0.7}, + {'original_description': 'Low energy lighting in 33% of fixed outlets', 'low_energy_proportion': 0.33}, + {'original_description': 'Low energy lighting in 91% of fixed outlets', 'low_energy_proportion': 0.91}, + {'original_description': 'Low energy lighting in 42% of fixed outlets', 'low_energy_proportion': 0.42}, + {'original_description': 'Low energy lighting in 46% of fixed outlets', 'low_energy_proportion': 0.46}, + {'original_description': 'Low energy lighting in 6% of fixed outlets', 'low_energy_proportion': 0.06}, + {'original_description': 'Low energy lighting in 81% of fixed outlets', 'low_energy_proportion': 0.81}, + {'original_description': 'Low energy lighting in 65% of fixed outlets', 'low_energy_proportion': 0.65}, + {'original_description': 'Low energy lighting in 56% of fixed outlets', 'low_energy_proportion': 0.56}, + {'original_description': 'Low energy lighting in 21% of fixed outlets', 'low_energy_proportion': 0.21}, + {'original_description': 'Low energy lighting in 44% of fixed outlets', 'low_energy_proportion': 0.44}, + {'original_description': 'Low energy lighting in 79% of fixed outlets', 'low_energy_proportion': 0.79}, + {'original_description': 'Low energy lighting in 73% of fixed outlets', 'low_energy_proportion': 0.73}, + {'original_description': 'Low energy lighting in 27% of fixed outlets', 'low_energy_proportion': 0.27}, + {'original_description': 'Low energy lighting in 94% of fixed outlets', 'low_energy_proportion': 0.94}, + {'original_description': 'Low energy lighting in 47% of fixed outlets', 'low_energy_proportion': 0.47}, + {'original_description': 'Low energy lighting in 69% of fixed outlets', 'low_energy_proportion': 0.69}, + {'original_description': 'Low energy lighting in 77% of fixed outlets', 'low_energy_proportion': 0.77}, + {'original_description': 'Low energy lighting in 45% of fixed outlets', 'low_energy_proportion': 0.45}, + {'original_description': 'Low energy lighting in 89% of fixed outlets', 'low_energy_proportion': 0.89}, + {'original_description': 'Low energy lighting in 54% of fixed outlets', 'low_energy_proportion': 0.54}, + {'original_description': 'Low energy lighting in 87% of fixed outlets', 'low_energy_proportion': 0.87}, + {'original_description': 'Low energy lighting in 22% of fixed outlets', 'low_energy_proportion': 0.22}, + {'original_description': 'Low energy lighting in 53% of fixed outlets', 'low_energy_proportion': 0.53}, + {'original_description': 'Low energy lighting in 55% of fixed outlets', 'low_energy_proportion': 0.55}, + {'original_description': 'Low energy lighting in 64% of fixed outlets', 'low_energy_proportion': 0.64}, + {'original_description': 'Low energy lighting in 58% of fixed outlets', 'low_energy_proportion': 0.58}, + {'original_description': 'Low energy lighting in 84% of fixed outlets', 'low_energy_proportion': 0.84}, + {'original_description': 'Low energy lighting in 17% of fixed outlets', 'low_energy_proportion': 0.17}, + {'original_description': 'Low energy lighting in 7% of fixed outlets', 'low_energy_proportion': 0.07}, + {'original_description': 'Low energy lighting in 76% of fixed outlets', 'low_energy_proportion': 0.76}, + {'original_description': 'Low energy lighting in 18% of fixed outlets', 'low_energy_proportion': 0.18}, + {'original_description': 'Low energy lighting in 31% of fixed outlets', 'low_energy_proportion': 0.31}, + {'original_description': 'Low energy lighting in 62% of fixed outlets', 'low_energy_proportion': 0.62}, + {'original_description': 'Low energy lighting in 14% of fixed outlets', 'low_energy_proportion': 0.14}, + {'original_description': 'Low energy lighting in 61% of fixed outlets', 'low_energy_proportion': 0.61}, + {'original_description': 'Low energy lighting in 9% of fixed outlets', 'low_energy_proportion': 0.09}, + {'original_description': 'Low energy lighting in 68% of fixed outlets', 'low_energy_proportion': 0.68}, + {'original_description': 'Low energy lighting in 13% of fixed outlets', 'low_energy_proportion': 0.13}, + {'original_description': 'Low energy lighting in 52% of fixed outlets', 'low_energy_proportion': 0.52}, + {'original_description': 'Low energy lighting in 24% of fixed outlets', 'low_energy_proportion': 0.24}, + {'original_description': 'Low energy lighting in 48% of fixed outlets', 'low_energy_proportion': 0.48}, + {'original_description': 'Low energy lighting in 41% of fixed outlets', 'low_energy_proportion': 0.41}, + {'original_description': 'Low energy lighting in 8% of fixed outlets', 'low_energy_proportion': 0.08}, + {'original_description': 'Low energy lighting in 72% of fixed outlets', 'low_energy_proportion': 0.72}, + {'original_description': 'Low energy lighting in 23% of fixed outlets', 'low_energy_proportion': 0.23}, + {'original_description': 'Low energy lighting in 96% of fixed outlets', 'low_energy_proportion': 0.96}, + {'original_description': 'Low energy lighting in 12% of fixed outlets', 'low_energy_proportion': 0.12}, + {'original_description': 'Low energy lighting in 15% of fixed outlets', 'low_energy_proportion': 0.15}, + {'original_description': 'Low energy lighting in 39% of fixed outlets', 'low_energy_proportion': 0.39}, + {'original_description': 'Low energy lighting in 32% of fixed outlets', 'low_energy_proportion': 0.32}, + {'original_description': 'Low energy lighting in 74% of fixed outlets', 'low_energy_proportion': 0.74}, + {'original_description': 'Low energy lighting in 49% of fixed outlets', 'low_energy_proportion': 0.49}, + {'original_description': 'Low energy lighting in 97% of fixed outlets', 'low_energy_proportion': 0.97}, + {'original_description': 'Low energy lighting in 10% of fixed outlets', 'low_energy_proportion': 0.1}, + {'original_description': 'Low energy lighting in 35% of fixed outlets', 'low_energy_proportion': 0.35}, + {'original_description': 'Low energy lighting in 5% of fixed outlets', 'low_energy_proportion': 0.05}, + {'original_description': 'Low energy lighting in 59% of fixed outlets', 'low_energy_proportion': 0.59}, + {'original_description': 'Low energy lighting in 37% of fixed outlets', 'low_energy_proportion': 0.37}, + {'original_description': 'Low energy lighting in 16% of fixed outlets', 'low_energy_proportion': 0.16}, + {'original_description': 'Low energy lighting in 4% of fixed outlets', 'low_energy_proportion': 0.04}, + {'original_description': 'Low energy lighting in 3% of fixed outlets', 'low_energy_proportion': 0.03}, + {'original_description': 'Low energy lighting in 28% of fixed outlets', 'low_energy_proportion': 0.28}, + {'original_description': 'Low energy lighting in 26% of fixed outlets', 'low_energy_proportion': 0.26}, + {'original_description': 'Low energy lighting in 34% of fixed outlets', 'low_energy_proportion': 0.34}, + {'original_description': 'Low energy lighting in 66% of fixed outlets', 'low_energy_proportion': 0.66}, + {'original_description': 'Low energy lighting in 98% of fixed outlets', 'low_energy_proportion': 0.98}, + {'original_description': 'Low energy lighting in 51% of fixed outlets', 'low_energy_proportion': 0.51}, + {'original_description': 'Low energy lighting in 99% of fixed outlets', 'low_energy_proportion': 0.99}, + {'original_description': 'Low energy lighting in 100% of fixed outlets', 'low_energy_proportion': 1.0}, + {'original_description': 'Good lighting efficiency', 'low_energy_proportion': 98.16666666666667}, + {'original_description': 'Below average lighting efficiency', 'low_energy_proportion': 0.0}, + {'original_description': 'Excelent lighting efficiency', 'low_energy_proportion': 0}, + {'original_description': 'Low energy lighting in 2% of fixed outlets', 'low_energy_proportion': 0.02}, + {'original_description': 'No Low energy lighting', 'low_energy_proportion': 0}]