use of org.apmem.tools.layouts.logic.LineDefinition in project android-flowlayout by ApmeM.
the class LineDefinitionTests method CanFit_LengthLessThenRemainingIsOk.
@Test
public void CanFit_LengthLessThenRemainingIsOk() {
ViewDefinition view1 = CreateView(12, 34);
ViewDefinition view2 = CreateView(56, 78);
ConfigDefinition config = new ConfigDefinition();
config.setMaxWidth(100);
LineDefinition def = new LineDefinition(config);
def.addView(view1);
def.addView(view2);
boolean canFit = def.canFit(view1);
Assert.assertTrue(canFit);
}
use of org.apmem.tools.layouts.logic.LineDefinition in project android-flowlayout by ApmeM.
the class LineDefinitionTests method AddView_TakesLayoutMarginsIntoAccount.
@Test
public void AddView_TakesLayoutMarginsIntoAccount() {
ViewDefinition view1 = CreateView(12, 34);
ViewDefinition view2 = CreateView(56, 78);
view1.setMargins(1, 1, 1, 1);
view2.setMargins(1, 1, 1, 1);
ConfigDefinition config = new ConfigDefinition();
config.setMaxWidth(100);
LineDefinition def = new LineDefinition(config);
def.addView(view1);
def.addView(view2);
Assert.assertEquals(72, def.getLineLength());
Assert.assertEquals(80, def.getLineThickness());
}
use of org.apmem.tools.layouts.logic.LineDefinition in project android-flowlayout by ApmeM.
the class CommonLogicTests method GravityApplyUseAllAvailableSpaceVertically.
@Test
public void GravityApplyUseAllAvailableSpaceVertically() {
ConfigDefinition config = new ConfigDefinition();
config.setMaxWidth(30);
config.setMaxHeight(20);
config.setGravity(Gravity.FILL);
ArrayList<LineDefinition> lines = new ArrayList<>();
ArrayList<ViewDefinition> views = new ArrayList<>();
for (int i = 0; i < 4; i++) {
ViewDefinition view = new ViewDefinition(config, null);
view.setWidth(10);
view.setHeight(10);
views.add(view);
}
CommonLogic.fillLines(views, lines, config);
CommonLogic.calculateLinesAndChildPosition(lines);
CommonLogic.applyGravityToLines(lines, 30, 20, config);
Assert.assertEquals(2, lines.size());
Assert.assertEquals(10, lines.get(0).getViews().get(0).getHeight());
Assert.assertEquals(10, lines.get(1).getViews().get(0).getHeight());
}
use of org.apmem.tools.layouts.logic.LineDefinition in project android-flowlayout by ApmeM.
the class CommonLogicTests method MaxLinesNotSetAllLinesAddedWhenNotSet.
@Test
public void MaxLinesNotSetAllLinesAddedWhenNotSet() {
ConfigDefinition config = new ConfigDefinition();
config.setMaxWidth(20);
ArrayList<LineDefinition> lines = new ArrayList<>();
ArrayList<ViewDefinition> views = new ArrayList<>();
for (int i = 0; i < 9; i++) {
ViewDefinition view = new ViewDefinition(config, null);
view.setWidth(10);
view.setHeight(10);
views.add(view);
}
CommonLogic.fillLines(views, lines, config);
Assert.assertEquals(5, lines.size());
Assert.assertEquals(2, lines.get(0).getViews().size());
Assert.assertEquals(2, lines.get(1).getViews().size());
Assert.assertEquals(2, lines.get(2).getViews().size());
Assert.assertEquals(2, lines.get(3).getViews().size());
Assert.assertEquals(1, lines.get(4).getViews().size());
}
use of org.apmem.tools.layouts.logic.LineDefinition in project android-flowlayout by ApmeM.
the class CommonLogicTests method GravityApplyUseAllAvailableSpaceVerticallyWithLastPixel.
@Test
public void GravityApplyUseAllAvailableSpaceVerticallyWithLastPixel() {
ConfigDefinition config = new ConfigDefinition();
config.setMaxWidth(30);
config.setMaxHeight(21);
config.setGravity(Gravity.FILL);
ArrayList<LineDefinition> lines = new ArrayList<>();
ArrayList<ViewDefinition> views = new ArrayList<>();
for (int i = 0; i < 4; i++) {
ViewDefinition view = new ViewDefinition(config, null);
view.setWidth(10);
view.setHeight(10);
views.add(view);
}
CommonLogic.fillLines(views, lines, config);
CommonLogic.calculateLinesAndChildPosition(lines);
CommonLogic.applyGravityToLines(lines, 30, 21, config);
Assert.assertEquals(2, lines.size());
Assert.assertEquals(10, lines.get(0).getViews().get(0).getHeight());
Assert.assertEquals(11, lines.get(1).getViews().get(0).getHeight());
}
Aggregations