Skip to content

Commit

Permalink
Test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
federicoiosue committed Nov 3, 2020
1 parent cc88c47 commit e6768b4
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@


@RunWith(AndroidJUnit4.class)
public class ViewGroupTest {
public class CheckListViewTest {

private WeakReference<Context> context;
private CheckListView checkListView;
Expand All @@ -33,24 +33,32 @@ public void setUp () {
}

@Test
public void testChildAddRemoval () {
public void addView () {
checkListView.addView(checkListViewItem);

assertTrue(checkListView.indexOfChild(checkListViewItem) >= 0);
assertEquals(checkListViewItem.getParent(), checkListView);
}

@Test
public void removeView () {
checkListView.addView(checkListViewItem);

checkListView.removeView(checkListViewItem);

assertFalse(checkListView.indexOfChild(checkListViewItem) >= 0);
assertNotEquals(checkListView, checkListViewItem.getParent());
assertNull(checkListViewItem.getParent());
}

@Test
public void testChildMovementlWithLayoutTransition () {
public void childMovementlWithLayoutTransition () {
checkListView.setLayoutTransition(new LayoutTransition());

CheckListViewItem checkListViewItem1 = new CheckListViewItem(context, false, false);

checkListView.addView(checkListViewItem);
checkListView.addView(checkListViewItem1);

assertEquals(0, checkListView.indexOfChild(checkListViewItem));
assertEquals(1, checkListView.indexOfChild(checkListViewItem1));
assertEquals(checkListViewItem.getParent(), checkListView);
Expand Down
81 changes: 81 additions & 0 deletions checklistview/src/androidTest/java/ChecklistManagerTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import static androidx.test.InstrumentationRegistry.getInstrumentation;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;

import android.content.Context;
import android.view.View;
import android.widget.EditText;
import androidx.test.runner.AndroidJUnit4;
import it.feio.android.checklistview.exceptions.ViewNotSupportedException;
import it.feio.android.checklistview.models.CheckListView;
import it.feio.android.checklistview.models.CheckListViewItem;
import it.feio.android.checklistview.models.ChecklistManager;
import it.feio.android.checklistview.test.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;


@RunWith(AndroidJUnit4.class)
public class ChecklistManagerTest {

private Context context;
private ChecklistManager checklistManager;
private EditText editText;

@Before
public void setUp () {
context = getInstrumentation().getContext();
checklistManager = new ChecklistManager(context);
editText = new EditText(context);
editText.setText(R.string.template_phrase);
}

@Test
public void convert_toList () throws ViewNotSupportedException {
View view = checklistManager.convert(editText);

assertEquals(CheckListView.class, view.getClass());
assertEquals(
"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
((CheckListView) view).getChildAt(1).getText());
}

@Test
public void convert_toText () throws ViewNotSupportedException {
View view = checklistManager.convert(checklistManager.convert(editText));

assertEquals(EditText.class, view.getClass());
assertEquals(context.getResources().getString(R.string.template_phrase), ((EditText) view).getText().toString());
}

@Test
public void getCheckedCount () throws ViewNotSupportedException {
CheckListView checkListView = (CheckListView) checklistManager.convert(editText);
checkItem(checkListView, 0);
checkItem(checkListView, 2);

assertEquals(2, checklistManager.getCheckedCount());
}

@Test
public void moveCheckedToBottom () throws ViewNotSupportedException {
CheckListView checkListView = (CheckListView) checklistManager.convert(editText);
CheckListViewItem item = checkListView.getChildAt(0);
checkItem(checkListView, 0);

assertEquals(item, checkListView.getChildAt(0));

checklistManager.moveCheckedToBottom();

assertNotEquals(item, checkListView.getChildAt(0));
assertEquals(item, checkListView.getChildAt(checkListView.getChildCount() - 1));
}

private void checkItem (CheckListView checkListView, int i) {
CheckListViewItem item = checkListView.getChildAt(i);
item.getCheckBox().setChecked(true);
checkListView.onItemChecked(item, true);
}

}
6 changes: 6 additions & 0 deletions checklistview/src/androidTest/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="template_phrase">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</string>

</resources>

0 comments on commit e6768b4

Please sign in to comment.