Repository: joke2k/faker

Issue:
Faker returns one value when using multiple locales
* Faker version: 13.11
* OS: Mac OS Monterey
Computer: MacBook Pro (14-inch, 2021)

Brief summary of the issue goes here.
If using multiple locales, faker only makes one choice. This only happens when you select multiple locales

### Steps to reproduce

```
from faker import Faker

fake = Faker(["en_GB", "fr_FR", "en_IN"])
Faker.seed(0)
for _ in range(5):
    print(fake.date_time_this_year())

```

### Expected behavior
returns
```
2022-03-16 19:22:23
2022-03-23 16:00:20
2022-01-08 20:40:15
2022-02-20 06:38:22
2022-04-10 06:42:46
```

### Actual behavior
returns
```
2022-03-23 16:00:20
2022-03-23 16:00:20
2022-03-23 16:00:20
2022-03-23 16:00:20
2022-03-23 16:00:20

```

Discussion:
fcurella: @johntmyers You can run `make lint` to format the code with our settings.
johntmyers: @fcurella everything is passing now

Patch:
diff --git a/faker/proxy.py b/faker/proxy.py
index eee266a4..421da0b4 100644
--- a/faker/proxy.py
+++ b/faker/proxy.py
@@ -9,7 +9,7 @@ from typing import Any, Callable, Dict, List, Optional, Pattern, Sequence, Tuple
 from .config import DEFAULT_LOCALE
 from .exceptions import UniquenessException
 from .factory import Factory
-from .generator import Generator, Sentinel, random
+from .generator import Generator, random
 from .typing import SeedType
 from .utils.distribution import choices_distribution
 
@@ -153,8 +153,6 @@ class Faker:
         elif len(factories) == 1:
             return factories[0]
 
-        if Generator._global_seed is not Sentinel:
-            random.seed(Generator._global_seed)  # type: ignore
         if weights:
             factory = self._select_factory_distribution(factories, weights)
         else:


Test patch:
diff --git a/tests/test_proxy.py b/tests/test_proxy.py
index 2c1b59df..22af4caf 100644
--- a/tests/test_proxy.py
+++ b/tests/test_proxy.py
@@ -130,11 +130,18 @@ class TestFakerProxyClass:
 
     def test_seed_class_locales(self):
         Faker.seed(2043)
+        count = 5
         fake = Faker(["en_GB", "fr_FR", "en_IN"])
-        name = fake.name()
+        first_list = [fake.name() for _ in range(count)]
+        # We convert the list to a set to remove duplicates and ensure
+        # that we have exactly `count` unique fake values
+        assert len(set(first_list)) == count
 
-        for _ in range(5):
-            assert fake.name() == name
+        Faker.seed(2043)
+        fake = Faker(["en_GB", "fr_FR", "en_IN"])
+        second_list = [fake.name() for _ in range(count)]
+
+        assert first_list == second_list
 
     def test_seed_instance(self):
         locale = ["de_DE", "en-US", "en-PH", "ja_JP"]