I've switched to an MVP architecture and am trying to test it. I have some question on how to structure my Presenter.

```
public class Presenter
{
    public void onResume()
    {
        doA();
        doB();
        doC();
    }

    protected void doA() {};
    protected void doB() {};
    protected void doC() {};
}

public class MyScreen implements MyScreenView
{
    private Presenter presenter;

    public MyScreen()
    {
        presenter = new Presenter(this);
    }

    public OnResume()
    {
        presenter.OnResume();
    }
}

```

In the above code, when the view is resumed, the view simply calls the presenter OnResume(). The presenter internally calls 3 methods, doA(), doB(), and doC() to do whatever it has to do.

Alternatively, I can just call doA(), doB() and doC() in the view directly like so:

```
public class Presenter
{
    public void doA() {};
    public void doB() {};
    public void doC() {};
}

public class MyScreen implements MyScreenView
{
    private Presenter presenter;

    public MyScreen()
    {
        presenter = new Presenter(this);
    }

    public OnResume()
    {
        presenter.doA();
        presenter.doB();
        presenter.doC();
    }
}

```

My question is, its easier for me to test the second solution, since the presenter is cleanly broken up into 3 seperate public methods of individual responsibility, I can write tests for doA, doB and doC individually instead of one monolithic test for the presenter.onResume() method of solution 1.

In the first solution, I have to write tests for onResume(), which has a combined responsibility of calling these 3 methods. This means its harder to test, as its much easier to test smaller functions of individual responsibility than functions that call other private functions. However, the second solution doesn't feel like a good MVP in my belief, since it seems to know what the presenter is doing and is just not letting the presenter do what it should do in the onResume() method of the first solution.