plotter: constraint: don't expose the constraints inside the ConstraintManager
Instead of exposing the "constraints" property of the ConstraintManager,
let other classes deal with the ConstraintManager as an entity which is
a collection of Constraints and can be iterated over or asked for its
length.
Change-Id: I77d859999a3d6962872a07843c92e3189658d4e7
diff --git a/tests/test_constraint.py b/tests/test_constraint.py
index f18a4b7..228b7d8 100644
--- a/tests/test_constraint.py
+++ b/tests/test_constraint.py
@@ -40,9 +40,10 @@
c_mgr = ConstraintManager(dfr, "load", None, AttrConf.PIVOT, {})
- self.assertEquals(len(c_mgr.constraints), 1)
+ self.assertEquals(len(c_mgr), 1)
- series = c_mgr.constraints[0].result[AttrConf.PIVOT_VAL]
+ constraint = iter(c_mgr).next()
+ series = constraint.result[AttrConf.PIVOT_VAL]
self.assertEquals(series.to_dict().values(),
dfr["load"].to_dict().values())
@@ -51,9 +52,9 @@
c_mgr = ConstraintManager(self.dfrs, "load", None, AttrConf.PIVOT, {})
- self.assertEquals(len(c_mgr.constraints), 2)
+ self.assertEquals(len(c_mgr), 2)
- for constraint, orig_dfr in zip(c_mgr.constraints, self.dfrs):
+ for constraint, orig_dfr in zip(c_mgr, self.dfrs):
series = constraint.result[AttrConf.PIVOT_VAL]
self.assertEquals(series.to_dict().values(),
orig_dfr["load"].to_dict().values())
@@ -64,9 +65,9 @@
cols = ["load", "freq"]
c_mgr = ConstraintManager(self.dfrs, cols, None, AttrConf.PIVOT, {})
- self.assertEquals(len(c_mgr.constraints), 2)
+ self.assertEquals(len(c_mgr), 2)
- for constraint, orig_dfr, col in zip(c_mgr.constraints, self.dfrs, cols):
+ for constraint, orig_dfr, col in zip(c_mgr, self.dfrs, cols):
series = constraint.result[AttrConf.PIVOT_VAL]
self.assertEquals(series.to_dict().values(),
orig_dfr[col].to_dict().values())
@@ -79,12 +80,15 @@
c_mgr = ConstraintManager(self.dfrs, "load", None, AttrConf.PIVOT,
simple_filter)
- num_constraints = len(c_mgr.constraints)
+ num_constraints = len(c_mgr)
self.assertEquals(num_constraints, 2)
- self.assertEquals(len(c_mgr.constraints[0].result), 1)
+ constraint_iter = iter(c_mgr)
+ constraint = constraint_iter.next()
+ self.assertEquals(len(constraint.result), 1)
- series_second_frame = c_mgr.constraints[1].result[AttrConf.PIVOT_VAL]
+ constraint = constraint_iter.next()
+ series_second_frame = constraint.result[AttrConf.PIVOT_VAL]
self.assertEquals(series_second_frame.to_dict().values(), [3, 2])
def test_pivoted_data(self):
@@ -92,9 +96,9 @@
c_mgr = ConstraintManager(self.dfrs[0], "load", None, "cpu", {})
- self.assertEquals(len(c_mgr.constraints), 1)
+ self.assertEquals(len(c_mgr), 1)
- constraint = c_mgr.constraints[0]
+ constraint = iter(c_mgr).next()
results = dict([(k, v.to_dict().values()) for k, v in constraint.result.items()])
expected_results = {0: [1, 2], 1: [2, 3]}
@@ -105,24 +109,26 @@
c_mgr = ConstraintManager(self.dfrs, "load", None, "cpu", {})
- self.assertEquals(len(c_mgr.constraints), 2)
+ self.assertEquals(len(c_mgr), 2)
- constraint = c_mgr.constraints[0]
+ constraint_iter = iter(c_mgr)
+ constraint = constraint_iter.next()
self.assertEquals(constraint.result[0].to_dict().values(), [1, 2])
- constraint = c_mgr.constraints[1]
+ constraint = constraint_iter.next()
self.assertEquals(constraint.result[1].to_dict().values(), [2, 2])
def test_pivoted_multiruns_multicolumns(self):
"""Test the constraint manager with multiple runs and columns"""
c_mgr = ConstraintManager(self.dfrs, ["load", "freq"], None, "cpu", {})
- self.assertEquals(len(c_mgr.constraints), 2)
+ self.assertEquals(len(c_mgr), 2)
- constraint = c_mgr.constraints[0]
+ constraint_iter = iter(c_mgr)
+ constraint = constraint_iter.next()
self.assertEquals(constraint.result[1].to_dict().values(), [2, 3])
- constraint = c_mgr.constraints[1]
+ constraint = constraint_iter.next()
self.assertEquals(constraint.result[0].to_dict().values(), [2, 1])
def test_pivoted_with_filters(self):
@@ -132,9 +138,9 @@
c_mgr = ConstraintManager(self.dfrs[0], "freq", None, "cpu",
simple_filter)
- self.assertEquals(len(c_mgr.constraints), 1)
+ self.assertEquals(len(c_mgr), 1)
- constraint = c_mgr.constraints[0]
+ constraint = iter(c_mgr).next()
result = constraint.result
self.assertEquals(result[0].iloc[0], 3)