Add OrderedGroups::MinNonZeroGroup.

Change-Id: If571c2435a7c884b472c33421722208cb2d036ff
This commit is contained in:
Sameer Agarwal
2014-06-09 12:03:17 -07:00
parent ec6bfa5b12
commit e9fcf3decb
3 changed files with 30 additions and 1 deletions
+20
View File
@@ -195,5 +195,25 @@ TEST(OrderedGroups, BulkRemoveWithNoElements) {
EXPECT_EQ(ordering.Remove(elements_to_remove), 0);
}
TEST(OrderedGroups, MinNonZeroGroup) {
ParameterBlockOrdering ordering;
double x[3];
ordering.AddElementToGroup(x, 1);
ordering.AddElementToGroup(x + 1, 1);
ordering.AddElementToGroup(x + 2, 2);
EXPECT_EQ(ordering.MinNonZeroGroup(), 1);
ordering.Remove(x);
EXPECT_EQ(ordering.MinNonZeroGroup(), 1);
ordering.Remove(x + 1);
EXPECT_EQ(ordering.MinNonZeroGroup(), 2);
ordering.Remove(x + 2);
// No non-zero groups left.
EXPECT_DEATH_IF_SUPPORTED(ordering.MinNonZeroGroup(), "NumGroups()");
}
} // namespace internal
} // namespace ceres