[ ] Is your feature request essential for your project?
Describe the workflow you want to enable
Now that we have grid objects whose number of attributes and the shape of the attributes can vary from one grid model to another or even among the same grid model (e.g. extra column in bus data frame for demand flexibility, etc), the simple overwriting of __eq__ is not enough anymore.
Describe your proposed implementation, if applicable
Create a CompareGrid class living in a new powersimdata.input.compare_grid module
The constructor takes two Grid objects
Define multiple methods that compare individual portion of the Grid objects, e.g., compare_branch(). The function would have several parameters such as: columns that would define a list of columns to compare, tol that would define the tolerance on the comparison. Each methods would perform an assertion
Remove the overwriting of __eq__ in powersimdata.input.grid
:rocket:
Describe the workflow you want to enable
Now that we have grid objects whose number of attributes and the shape of the attributes can vary from one grid model to another or even among the same grid model (e.g. extra column in
bus
data frame for demand flexibility, etc), the simple overwriting of__eq__
is not enough anymore.Describe your proposed implementation, if applicable
CompareGrid
class living in a newpowersimdata.input.compare_grid
moduleGrid
objectsGrid
objects, e.g.,compare_branch()
. The function would have several parameters such as:columns
that would define a list of columns to compare,tol
that would define the tolerance on the comparison. Each methods would perform an assertion__eq__
inpowersimdata.input.grid
Additional context
Some tests would need to be refactored