DeviceManager.commandsAdd(new CategoryAddCommand("catA", "a"));
DeviceManager.commandsAdd(new CategoryAddCommand("catB", "b"));
// original order
{
List<CategoryInfo> categories = DeviceManager.getCategories();
CategoryInfo categoryA = DeviceManager.getCategory("catA");
CategoryInfo categoryB = DeviceManager.getCategory("catB");
assertEquals(categories.indexOf(categoryA), categories.indexOf(categoryB) - 1);
// do move
DeviceManager.commandsAdd(new CategoryMoveCommand(categoryB, categoryA));
}
// new order
{
List<CategoryInfo> categories = DeviceManager.getCategories();
CategoryInfo categoryA = DeviceManager.getCategory("catA");
CategoryInfo categoryB = DeviceManager.getCategory("catB");
assertEquals(categories.indexOf(categoryB), categories.indexOf(categoryA) - 1);
}
// reload
DeviceManager.commandsWrite();
DeviceManager.forceReload();
// still new order
{
List<CategoryInfo> categories = DeviceManager.getCategories();
CategoryInfo categoryA = DeviceManager.getCategory("catA");
CategoryInfo categoryB = DeviceManager.getCategory("catB");
assertEquals(categories.indexOf(categoryB), categories.indexOf(categoryA) - 1);
}
}