ive tried several variations but no matter what it try it only mocks one of the functions
shouldrecieve can take multiple arguments as an array but if i do this there is no apparent way to set a different set of asserts/function ( once(), with(), andReturns() ect ) to each mocked function
It turned out that the class i was trying to mock had a builder class which ran several functions which returned itself before a function which returned the class i was trying to mock
so for each of the mocked functions in the builder, except the one that returns the class it builds, i had to call