//e.g. generate the 'random' username and 'random' password at 'RegisterEndPoint' //e.g. generate the 'exsiting' username and 'exsiting' password at 'RegisterEndPoint' public void GivenGenerateTheUsernameAndPasswordAt(string p_username, string p_password) { switch (p_username) { case "random": context["username"] = FunctionsShared.GetRandomString(8); break; case "empty": context["username"] = ""; break; case "existing": { GivenGenerateTheUsernameAndPasswordAt("random", "random"); WhenVisitTheRegisterAPIWithTheUsernameAndPassword(); break; } default: context["username"] = p_username; break; } switch (p_password) { case "random": if (p_username != "existing") { context["password"] = FunctionsShared.GetRandomString(8); } break; case "empty": context["password"] = ""; break; case "existing": break; default: context["password"] = p_password; break; } }