There is a lot under the surface of this question, but I'll first try to answer the question directly.
Let's say I have this user story:
As a visitor, I want to a list of restaurants within walking distance
of my hotel so I can easily get food.
First, from an ATDD standpoint, I would want to work with my product owner, stakeholders, and potentially even users to create a list of expected results. For example:
| Hotel | Restaurants |
| Hilton | Applebees, Bob's Burger, Luigi's |
| Homewood Suites | Olive Garden, Luigi's, Wendy's |
For these test cases we are describing outward-facing application behavior. When we get into coding, I would use TDD to test under-the-hood behavior. Some examples of tests might be:
- Correct calculation of distance
- Calculate distance only crossing at crosswalks
- identify unwalkable routes (highways for example)
- identify cut-throughs like parks
Generally speaking you will have many more unit tests (TDD) than functional tests (ATDD). There are cases where the line between the two is blurry. This happens in very simple behaviors. For example, showing an account as active or inactive.