@Test public void testRemoveItemCausesRebalancing() { // Set-up containers and items. MockContainerEntity containerA = newContainer(app, "A", 10, 30); MockContainerEntity containerB = newContainer(app, "B", 10, 30); MockItemEntity item1 = newItem(app, containerA, "1", 30); MockItemEntity item2 = newItem(app, containerB, "2", 20); MockItemEntity item3 = newItem(app, containerB, "3", 20); item1.stop(); Entities.unmanage(item1); assertWorkratesEventually( ImmutableList.of(containerA, containerB), ImmutableList.of(item1, item2, item3), ImmutableList.of(20d, 20d)); }
@Test public void testRebalancesAfterManualMove() { // Set-up containers and items. MockContainerEntity containerA = newContainer(app, "A", 10, 50); MockContainerEntity containerB = newContainer(app, "B", 10, 50); MockItemEntity item1 = newItem(app, containerA, "1", 20); MockItemEntity item2 = newItem(app, containerA, "2", 20); MockItemEntity item3 = newItem(app, containerB, "3", 20); MockItemEntity item4 = newItem(app, containerB, "4", 20); // Move everything onto containerA, and expect it to be automatically re-balanced item3.move(containerA); item4.move(containerA); assertWorkratesEventually( ImmutableList.of(containerA, containerB), ImmutableList.of(item1, item2, item3, item4), ImmutableList.of(40d, 40d)); }
// FIXME Failed in build repeatedly (e.g. #1035), but couldn't reproduce locally yet with // invocationCount=100 @Test(groups = "WIP") public void testRemoveContainerCausesRebalancing() { // Set-up containers and items. MockContainerEntity containerA = newContainer(app, "A", 10, 30); MockContainerEntity containerB = newContainer(app, "B", 10, 30); MockContainerEntity containerC = newContainer(app, "C", 10, 30); MockItemEntity item1 = newItem(app, containerA, "1", 10); MockItemEntity item2 = newItem(app, containerA, "2", 10); MockItemEntity item3 = newItem(app, containerB, "3", 10); MockItemEntity item4 = newItem(app, containerB, "4", 10); MockItemEntity item5 = newItem(app, containerC, "5", 10); MockItemEntity item6 = newItem(app, containerC, "6", 10); Entities.unmanage(containerC); item5.move(containerA); item6.move(containerA); assertWorkratesEventually( ImmutableList.of(containerA, containerB), ImmutableList.of(item1, item2, item3, item4, item5, item6), ImmutableList.of(30d, 30d)); }