To keep it simpler for any client of my class, I have put a sequence of private method calls within one public method.The client then calls this method and all the methods within run to complete the action. E.g: public void DoRejection(string comments, string rejectionType)    {        GetPartstoReject();        UpdateRejectedPartsStatus(rejectionType);        RemoveInitiatingRejectionPart();        ClearRejectedPartsData();        CreateNewOpenPart();        SaveRejectionComments(rejectionType, comments);    }The downside I can see to this is it is harder to unit test as each private method won't be tested in isolation (following the best practice of only unit testing public methods).How can this be better designed to enhance testability but still make it simple for a client to call?
How to structure a chain of method calls
c#;unit testing