| lambda$treeString$9(Object) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| toString() |   | 79% |   | 75% | 3 | 9 | 6 | 40 | 0 | 1 |
| lambda$treeString$10(Object) |  | 0% |  | 0% | 6 | 6 | 13 | 13 | 1 | 1 |
| isValidJoinGroup() |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| replaceBestPlanProperty(PhysicalProperties, PhysicalProperties, Cost) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| treeString() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| lambda$treeString$12(Object) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getLowestCosts() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$treeString$11(Object) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getAllProperties() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeParentPhysicalExpressions() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$mergeTo$5(Group, GroupExpression, GroupExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeTo$7(Group, PhysicalProperties, Pair) |   | 81% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| lambda$removeParentPhysicalExpressions$3(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getLowestCosts$2(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| clearLowestCostPlans() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$mergeTo$6(Group, GroupExpression, GroupExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeTo$4(Group, GroupExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$clearPhysicalExpressions$1(GroupExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getChosenProperties() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| mergeTo(Group) |  | 98% |   | 85% | 2 | 8 | 0 | 30 | 0 | 1 |
| equals(Object) |  | 91% |   | 66% | 2 | 4 | 1 | 6 | 0 | 1 |
| getBestPlan(PhysicalProperties) |  | 86% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getCostLowerBound() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLogicalExpression() |  | 93% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| getFirstLogicalExpression() |  | 93% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| setChosenGroupExpressionId(int) |  | 92% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| Group(GroupId, GroupExpression, LogicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 16 | 0 | 1 |
| Group(GroupId, LogicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 15 | 0 | 1 |
| replaceBestPlanGroupExpr(GroupExpression, GroupExpression) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| setBestPlan(GroupExpression, Cost, PhysicalProperties) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| addGroupExpression(GroupExpression) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| removeGroupExpression(GroupExpression) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| getLowestCostPlan(PhysicalProperties) |  | 100% |   | 75% | 1 | 3 | 0 | 5 | 0 | 1 |
| clearLogicalExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| clearPhysicalExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| addEnforcer(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| addLogicalExpression(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| addPhysicalExpression(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| removeParentExpression(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| addParentExpression(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| addChosenEnforcerId(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| logicalExpressionsAt(int) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hashCode() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| addChosenEnforcerProperties(PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getParentGroupExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isProjectGroup() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$toString$8(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setStatsReliable(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setStatistics(Statistics) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setLogicalProperties(LogicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setExplored(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setChosenProperties(PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$clearLogicalExpressions$0(GroupExpression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getGroupId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isStatsReliable() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLogicalExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPhysicalExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getEnforcers() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStatistics() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLogicalProperties() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isExplored() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStructInfoMap() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |