===== ISTEM =====
Here is my function and its test file.

```python
# scores.py
def normalize_scores(scores):
    """Scale scores to 0..100. An empty list returns []."""
    lo, hi = min(scores), max(scores)
    return [round(100 * (s - lo) / (hi - lo)) for s in scores]
```

```python
# test_scores.py
from scores import normalize_scores

def test_basic():
    assert normalize_scores([0, 5, 10]) == [0, 50, 100]

def test_negative():
    assert normalize_scores([-10, 0, 10]) == [0, 50, 100]

def test_empty():
    assert normalize_scores([]) == []

def test_all_equal():
    assert normalize_scores([7, 7, 7]) == [0, 0, 0]

def test_order():
    assert normalize_scores([10, 0]) == [100, 0]
```

Without running anything, read the code and tell me which of these tests will fail and why.

===== HAM YANIT =====
Without running the code, we can analyze the tests to determine which ones might fail based on the provided `normalize_scores` function.

### Function Analysis
The `normalize_scores` function scales a list of scores to the range 0 to 100. If the list is empty, it returns an empty list. The scaling is done using the formula:
\[ \text{normalized\_score} = \text{round}(100 \times \frac{\text{score} - \text{min\_score}}{\text{max\_score} - \text{min\_score}}) \]

### Test Analysis

1. **test_basic**
   - Input: `[0, 5, 10]`
   - Expected Output: `[0, 50, 100]`
   - This test will pass because the function correctly scales the scores from 0 to 100.

2. **test_negative**
   - Input: `[-10, 0, 10]`
   - Expected Output: `[0, 50, 100]`
   - This test will pass because the function correctly scales the scores from -10 to 10 to the range 0 to 100.

3. **test_empty**
   - Input: `[]`
   - Expected Output: `[]`
   - This test will pass because the function correctly returns an empty list when the input is empty.

4. **test_all_equal**
   - Input: `[7, 7, 7]`
   - Expected Output: `[0, 0, 0]`
   - This test will fail because the function scales the scores to the range 0 to 100 based on the minimum and maximum values. Since all scores are the same (7), the minimum and maximum values are both 7. Therefore, the scaling formula \(\frac{\text{score} - \text{min\_score}}{\text{max\_score} - \text{min\_score}}\) results in \(\frac{7 - 7}{7 - 7} = \frac{0}{0}\), which is undefined. As a result, the function will raise a `ZeroDivisionError`.

5. **test_order**
   - Input: `[10, 0]`
   - Expected Output: `[100, 0]`
   - This test will pass because the function correctly scales the scores from 10 to 0 to the range 100 to 0.

### Summary
- `test_basic`: Pass
- `test_negative`: Pass
- `test_empty`: Pass
- `test_all_equal`: Fail (due to `ZeroDivisionError`)
- `test_order`: Pass