===== 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 =====
Let's analyze each test and determine which ones will **fail** based on the implementation of `normalize_scores`.

---

### ✅ **Test: `test_basic()`**
```python
assert normalize_scores([0, 5, 10]) == [0, 50, 100]
```

- **Input**: `[0, 5, 10]`
- **min** = 0, **max** = 10
- Formula: `round(100 * (s - 0) / (10 - 0))`
  - For 0 → 0 → 0
  - For 5 → 50
  - For 10 → 100
- ✅ **Passes**

---

### ✅ **Test: `test_negative()`**
```python
assert normalize_scores([-10, 0, 10]) == [0, 50, 100]
```

- **Input**: `[-10, 0, 10]`
- **min** = -10, **max** = 10
- Formula: `round(100 * (s - (-10)) / (10 - (-10))) = round(100 * (s + 10) / 20)`
  - For -10 → 0
  - For 0 → 50
  - For 10 → 100
- ✅ **Passes**

---

### ✅ **Test: `test_empty()`**
```python
assert normalize_scores([]) == []
```

- **Input**: `[]` → returns `[]`
- ✅ **Passes**

---

### ✅ **Test: `test_all_equal()`**
```python
assert normalize_scores([7, 7, 7]) == [0, 0, 0]
```

- **Input**: `[7, 7, 7]`
- **min** = 7, **max** = 7
- Formula: `round(100 * (s - 7) / (7 - 7))` → division by zero
- ❌ **This test will fail** due to division by zero.

---

### ❌ **Test: `test_order()`**
```python
assert normalize_scores([10, 0]) == [100, 0]
```

- **Input**: `[10, 0]`
- **min** = 0, **max** = 10
- Formula: `round(100 * (s - 0) / (10 - 0))`
  - For 10 → 100
  - For 0 → 0
- ✅ **Passes**

---

### ✅ **Summary of Which Tests Fail**

- **Fails**: `test_all_equal()` → **Division by zero** when all elements are equal.
- **Passes**: All other tests.

---

### ✅ **Conclusion**
Only the test **`test_all_equal()`** will **fail** because it causes a **division by zero** when all elements are the same.