I have set up a basic project (the code isn't relevant, but you can see it here if need be).
In the project there is a Token and a "bank". I also have a series of tests. I'm mocking functionality using Ganache, and noticed that whenever I run my test suite Ganache will run one transaction per test on one address, and then once per suite on another address. I assume one address has been designated as "user account" (or Token? I'm not really sure) and one as "bank". I haven't indicated anywhere which addresses to use. I haven't even explicitly instructed my code to use Ganache anywhere.
How does truffle/ganache decide which addresses to use? I'm confused how those addresses would be assigned in a real world application without explicitly pointing them out (albeit dynamically) in my code.