Reo.Core.Xunit.IntegrationTesting 8.0.254

dotnet add package Reo.Core.Xunit.IntegrationTesting --version 8.0.254
                    
NuGet\Install-Package Reo.Core.Xunit.IntegrationTesting -Version 8.0.254
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.Xunit.IntegrationTesting" Version="8.0.254" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.Xunit.IntegrationTesting" Version="8.0.254" />
                    
Directory.Packages.props
<PackageReference Include="Reo.Core.Xunit.IntegrationTesting" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reo.Core.Xunit.IntegrationTesting --version 8.0.254
                    
#r "nuget: Reo.Core.Xunit.IntegrationTesting, 8.0.254"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Reo.Core.Xunit.IntegrationTesting&version=8.0.254
                    
Install Reo.Core.Xunit.IntegrationTesting as a Cake Addin
#tool nuget:?package=Reo.Core.Xunit.IntegrationTesting&version=8.0.254
                    
Install Reo.Core.Xunit.IntegrationTesting as a Cake Tool

Xunit.IntegrationTesting

Расширение фреймворка xUnit для выполнения интеграционного тестирования

Использование

Первоначальная настройка

В проекте с тестами необходимо определить файл со следующим содержимым:

using Reo.Core.IntegrationTesting.TestFramework.Mongo;
using Reo.Core.IntegrationTesting.TestFramework.Postgres;
using Reo.Core.Xunit.IntegrationTesting.Attributes;

[assembly:EnableIntegrationTestingFramework]
[assembly:RaiseContainer<PostgresTestContainer<TestingContext>>]
[assembly:RaiseContainer<MongoTestContainer>]

Атрибут EnableIntegrationTestingFramework должен быть указан в обязательном порядке. Он указывает xUnit, что необходимо использовать расширенный тестовый фреймворк вместо обычного.

Атрибут RaiseContainer нужен для того, чтобы при запуске тестов запустился контейнер указанного типа. В прошлом контейнеры запускались при старте каждого тестового класса, теперь запускается единственный контейнер для всех тестов примерно сразу после загрузки сборки.

На данный момент реализованы четыре контейнера (их можно найти в пакете Reo.Core.IntegrationTesting):

  • Postgres (PostgresTestContainer{TDbContext} и PostgresFixture{TDbContext})
  • Mongo (MongoTestContainer и MongoFixture)
  • Redis (RedisTestContainer и RedisFixture)
  • Elastic (ElasticTestContainer и ElasticFixture)
Написание тестов

В тестовом классе необходимо указать какую фикстуру вы хотите использовать.

CollectionFixture

Фикстура создается один раз на запускаемую пачку тестов

// CollectionDefinition.cs

[CollectionDefinition(nameof(PostgresDefinition))]
public sealed class PostgresDefinition : ICollectionFixture<PostgresFixture<TestingDbContext>>
{ }
// TestClass.cs

[Collection(nameof(PostgresDefinition))]
public sealed class TestClass
{
    private readonly PostgresFixture<TestingDbContext> _fixture;

    public TestClass(PostgresFixture<TestingDbContext> fixture)
    {
        _fixture = fixture;
    }

    [Fact]
    public void Verify()
    {
        // ...
    }
}

К сожалению, CollectionDefinition необходимо описывать в каждой сборке, иначе xUnit их не увидит (см. документацию xUnit)

ClassFixture

Фикстура создается один раз на запускаемый тестовый класс

public sealed class TestClass : IClassFixture<MongoFixture>
{
    private readonly MongoFixture _fixture;

    public TestClass(MongoFixture fixture)
    {
        _fixture = fixture;
    }

    [Fact]
    public void Verify()
    {
        // ...
    }
}

И то, и другое

xUnit не запрещает внедрять IClassFixture и ICollectionFixture одновременно:

[Collection(nameof(PostgresDefinition))]
public sealed class TestClass : IClassFixture<MongoFixture>
{
    // ...

    public TestClass(PostgresFixture<TestingDbContext> postgresFixture, MongoFixture mongoFixture)
    {
    	// ...
    }

    // ...
}

Сидирование данных

Чтобы проинициализировать справочники, вы должны реализовать абстрактный класс ContainerSeeder

public sealed class PostgresSeeder : ContainerSeeder<PostgresFixture<TestingContext>>
{
    /// <inheritdoc />
    public override async Task SeedAsync(PostgresFixture<TestingContext> fixture)
    {
        await using var databaseContext =
            await fixture.DatabaseContextFactory.CreateDbContextAsync();

        databaseContext.References.Add(new()
        {
            Id = Guid.NewGuid(),
            Name = "Profile test"
        });

        await databaseContext.SaveChangesAsync();
    }
}

Сид не должен содержать конструкторов, кроме стандартного. Количество сидов для одной фикстуры не ограничено.

Немного про очистку базы данных после исполнения конкретного теста

Если после каждого теста вы хотите откатывать ее в первоначальное состояние - используйте метод CleanupAsync, определенной у каждой фикстуры:

public sealed class Tests : IClassFixture<PostgresFixture<TestingContext>>, IAsyncLifetime
{
    private readonly PostgresFixture<TestingContext> _fixture;

    public ContainerSeederTests(PostgresFixture<TestingContext> fixture)
        => _fixture = fixture;

    public async Task InitializeAsync()
    {
        await using var databaseContext =
            await _fixture.DatabaseContextFactory.CreateDbContextAsync();

        databaseContext.Entities.Add(new()
        {
            Id = Guid.NewGuid()
        });

        await databaseContext.SaveChangesAsync();
    }

    [Theory]
    [InlineData(1)]
    [InlineData(2)]
    [InlineData(3)]
    public async Task Verify(int _)
    {
        // Благодаря _fixture.CleanupAsync() в базе всегда будет 1 запись, добавленная в InitializeAsync()
    }


    public Task DisposeAsync()
        => _fixture.CleanupAsync();
}

Метод CleanupAsync очищает базу данных и повторно выполняет сидирование справочников

Регистрация артефактов из фикстуры в AutoMocker

При внедрении фикстуры используйте готовые методы расширения:

public sealed class TestClass :
    IClassFixture<PostgresFixture<TestingDbContext>>,
    IClassFixture<MongoFixture>,
    IClassFixture<ElasticFixture>,
    IClassFixture<RedisFixture>
{
    private readonly AutoMocker _mocker = new();

    // ...

    public TestClass(
        PostgresFixture<TestingDbContext> postgresFixture,
        MongoFixture mongoFixture,
        ElasticFixture elasticFixture,
        RedisFixture redisFixture)
    {
    	// ...

        _mocker
            .SetupPostgres(postgresFixture)
            .SetupMongo(mongoFixture)
            .SetupElastic(elasticFixture)
            .SetupRedis(redisFixture);
    }

    // ...
}

При внедрении фикстуры Postgres можно добавить перехватчики события сохранения данных в БД реализующих интерфейс ISaveChangesInterceptor:

public sealed class TestClass : IClassFixture<PostgresFixture<TestingDbContext>>
{
    private readonly AutoMocker _mocker = new();

    // ...

    public TestClass(PostgresFixture<TestingDbContext> postgresFixture)
    {
    	// ...

		var createDateInterceptor = _mocker.CreateInstance<CreateDateInterceptor>();
		var updateDateInterceptor = _mocker.CreateInstance<UpdateDateInterceptor>();

        _mocker
            .SetupPostgres(postgresFixture.WithInterceptors([createDateInterceptor, updateDateInterceptor]));
    }

    // ...
}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Reo.Core.Xunit.IntegrationTesting:

Package Downloads
Reo.Core.IntegrationTesting

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.254 86 3/27/2025
8.0.253 86 3/27/2025
8.0.252 86 3/27/2025
8.0.251 446 3/26/2025
8.0.250 449 3/26/2025
8.0.249 443 3/26/2025
8.0.248 443 3/26/2025
8.0.247 105 3/21/2025
8.0.246 89 3/21/2025
8.0.245 117 3/21/2025
8.0.244 136 3/19/2025
8.0.243 130 3/19/2025
8.0.242 132 3/19/2025
8.0.241 137 3/19/2025
8.0.240 135 3/19/2025
8.0.239 137 3/19/2025
8.0.238 134 3/19/2025
8.0.237 138 3/19/2025
8.0.236 131 3/18/2025
8.0.234 127 3/18/2025
8.0.233 132 3/17/2025
8.0.232 136 3/17/2025
8.0.231 135 3/17/2025
8.0.230 132 3/17/2025
8.0.229 84 3/14/2025
8.0.228 107 3/14/2025
8.0.227 109 3/14/2025
8.0.226 111 3/14/2025
8.0.225 111 3/14/2025
8.0.224 120 3/14/2025
8.0.223 136 3/13/2025
8.0.222 142 3/13/2025
8.0.221 133 3/13/2025
8.0.220 136 3/13/2025
8.0.219 146 3/12/2025
8.0.218 163 3/12/2025
8.0.217 158 3/11/2025
8.0.216 158 3/11/2025
8.0.215 166 3/10/2025
8.0.213 171 3/10/2025
8.0.212 163 3/10/2025
8.0.211 162 3/10/2025
8.0.210 153 3/10/2025
8.0.209 164 3/10/2025
8.0.208 156 3/10/2025
8.0.207 161 3/10/2025
8.0.206 159 3/10/2025
8.0.205 153 3/10/2025
8.0.204 209 3/7/2025
8.0.203 220 3/6/2025
8.0.202 196 3/6/2025
8.0.201 213 3/6/2025
8.0.200 207 3/6/2025
8.0.199 197 3/5/2025
8.0.198 194 3/5/2025
8.0.197 200 3/5/2025
8.0.196 197 3/5/2025
8.0.195 197 3/5/2025
8.0.194 188 3/5/2025
8.0.193 191 3/5/2025
8.0.192 189 3/5/2025
8.0.191 216 3/4/2025
8.0.190 196 3/4/2025
8.0.189 183 3/3/2025
8.0.188 133 3/3/2025
8.0.187 143 3/3/2025
8.0.186 97 2/28/2025
8.0.185 87 2/28/2025
8.0.184 87 2/28/2025
8.0.183 83 2/28/2025
8.0.182 86 2/28/2025
8.0.181 87 2/28/2025
8.0.180 95 2/27/2025
8.0.179 93 2/27/2025
8.0.178 101 2/27/2025
8.0.177 100 2/26/2025
8.0.176 103 2/26/2025
8.0.175 94 2/26/2025
8.0.174 100 2/26/2025
8.0.173 94 2/26/2025
8.0.172 93 2/25/2025
8.0.171 90 2/25/2025
8.0.170 87 2/25/2025
8.0.169 98 2/24/2025
8.0.168 93 2/24/2025
8.0.167 92 2/24/2025
8.0.166 96 2/24/2025
8.0.165 103 2/21/2025
8.0.164 91 2/21/2025
8.0.163 103 2/20/2025
8.0.162 97 2/19/2025
8.0.161 100 2/19/2025
8.0.160 114 2/18/2025
8.0.159 107 2/18/2025
8.0.158 100 2/17/2025
8.0.157 108 2/17/2025
8.0.156 115 2/14/2025
8.0.155 109 2/13/2025
8.0.154 101 2/13/2025
8.0.153 101 2/13/2025
8.0.152 99 2/11/2025
8.0.151 134 2/10/2025
8.0.150 94 2/8/2025
8.0.146 103 2/8/2025
8.0.145 98 2/7/2025
8.0.143 100 2/7/2025
8.0.142 108 2/6/2025
8.0.141 108 2/5/2025
8.0.140 108 2/5/2025
8.0.139 106 2/4/2025
8.0.138 102 2/3/2025
8.0.137 103 1/30/2025
8.0.135 95 1/29/2025
8.0.134 78 1/29/2025
8.0.133 79 1/29/2025
8.0.132 80 1/29/2025
8.0.131 88 1/27/2025
8.0.128 78 1/24/2025
8.0.127 89 1/23/2025
8.0.126 89 1/22/2025
8.0.125 85 1/22/2025
8.0.124 88 1/21/2025
8.0.123 96 1/21/2025
8.0.122 95 1/20/2025
8.0.121 89 1/20/2025
8.0.120 90 1/20/2025
8.0.119 111 1/17/2025
8.0.118 97 1/16/2025
8.0.117 76 1/16/2025
8.0.116 84 1/16/2025
8.0.115 85 1/15/2025
8.0.114 78 1/15/2025
8.0.113 83 1/15/2025
8.0.112 86 1/13/2025
8.0.111 125 1/9/2025
8.0.110 72 1/9/2025
8.0.109 72 1/9/2025
8.0.108 71 1/9/2025
8.0.107 71 1/9/2025
8.0.106 70 1/9/2025
8.0.105 64 1/9/2025
8.0.104 110 12/28/2024
8.0.103 101 12/28/2024
8.0.102 92 12/28/2024
8.0.101 98 12/28/2024
8.0.100 95 12/27/2024
8.0.99 96 12/27/2024
8.0.98 98 12/27/2024
8.0.97 103 12/24/2024
8.0.96 107 12/23/2024
8.0.95 110 12/20/2024
8.0.94 113 12/20/2024
8.0.93 109 12/20/2024
8.0.92 101 12/19/2024
8.0.91 103 12/19/2024
8.0.90 98 12/19/2024
8.0.89 97 12/19/2024
8.0.88 94 12/18/2024
8.0.87 94 12/18/2024
8.0.86 95 12/18/2024
8.0.85 89 12/17/2024
8.0.84 99 12/17/2024
8.0.83 97 12/16/2024
8.0.82 92 12/16/2024
8.0.81 98 12/16/2024
8.0.80 79 12/16/2024
8.0.79 103 12/13/2024
8.0.78 91 12/13/2024
8.0.77 91 12/12/2024
8.0.76 97 12/12/2024
8.0.75 97 12/12/2024
8.0.74 94 12/12/2024
8.0.73 96 12/11/2024
8.0.72 96 12/11/2024
8.0.71 97 12/11/2024
8.0.70 100 12/10/2024
8.0.69 98 12/10/2024
8.0.68 103 12/10/2024
8.0.67 122 12/10/2024
8.0.66 96 12/10/2024
8.0.65 95 12/10/2024
8.0.64 101 12/9/2024
8.0.63 94 12/9/2024
8.0.62 93 12/9/2024
8.0.61 94 12/8/2024
8.0.60 101 12/6/2024
8.0.59 106 12/6/2024
8.0.58 124 12/3/2024
8.0.57 121 12/3/2024
8.0.56 99 12/2/2024
8.0.55 102 12/2/2024
8.0.54 119 11/28/2024
8.0.53 101 11/27/2024
8.0.52 91 11/27/2024
8.0.51 92 11/27/2024
8.0.50 91 11/27/2024
8.0.49 127 11/26/2024
8.0.48 99 11/25/2024
8.0.47 92 11/25/2024
8.0.46 92 11/25/2024
8.0.45 166 11/25/2024
8.0.44 110 11/22/2024
8.0.43 100 11/22/2024
8.0.42 91 11/21/2024
8.0.41 98 11/21/2024
8.0.40 95 11/20/2024
8.0.36 112 11/20/2024
8.0.35 108 11/20/2024
8.0.34 102 11/20/2024
8.0.32 102 11/20/2024
8.0.31 107 11/19/2024
8.0.30 117 11/18/2024
8.0.29 93 11/18/2024
8.0.28 109 11/15/2024
8.0.27 105 11/15/2024
8.0.26 97 11/14/2024
8.0.25 97 11/14/2024
8.0.24 104 11/13/2024
8.0.23 97 11/13/2024
8.0.22 102 11/12/2024
8.0.21 119 11/12/2024
8.0.20 112 11/12/2024
8.0.19 113 11/11/2024
8.0.18 109 11/11/2024
8.0.17 109 11/11/2024
8.0.16 108 11/8/2024
8.0.15 100 11/7/2024
8.0.14 91 11/7/2024
8.0.12 101 11/5/2024
8.0.11 102 11/5/2024
8.0.10 105 11/5/2024
8.0.9 96 10/30/2024
8.0.8 92 10/30/2024
8.0.7 92 10/30/2024
8.0.6 96 10/28/2024
8.0.5 151 10/23/2024
8.0.4 98 10/23/2024
6.0.32011 158 10/18/2024
6.0.32010 106 10/16/2024
6.0.32009 110 10/16/2024
6.0.32008 117 10/16/2024
6.0.32007 111 10/16/2024
6.0.32006 117 10/16/2024
6.0.32005 112 10/14/2024
6.0.32004 132 10/9/2024
6.0.32001 132 10/2/2024
6.0.32000 126 10/1/2024
6.0.31999 110 10/1/2024
6.0.31998 117 10/1/2024
6.0.31997 114 9/30/2024
6.0.31996 116 9/30/2024
6.0.31995 125 9/30/2024
6.0.31994 169 9/20/2024
6.0.31993 107 9/20/2024
6.0.31992 113 9/20/2024
6.0.31991 119 9/19/2024
6.0.31990 115 9/17/2024
6.0.31989 113 9/16/2024
6.0.31988 112 9/16/2024
6.0.31987 113 9/16/2024
6.0.31986 110 9/16/2024
6.0.31985 128 9/13/2024
6.0.31984 123 9/13/2024
6.0.31983 122 9/13/2024
6.0.31982 123 9/12/2024
6.0.31981 112 9/12/2024
6.0.31980 117 9/12/2024
6.0.31979 118 9/12/2024
6.0.31978 121 9/12/2024
6.0.31977 162 9/11/2024
6.0.31976 153 9/11/2024
6.0.31975 146 9/11/2024
6.0.31974 248 9/6/2024
6.0.31973 153 9/5/2024
6.0.31972 126 9/4/2024
6.0.31971 124 9/2/2024
6.0.31970 124 8/28/2024
6.0.31969 127 8/28/2024
6.0.31968 137 8/27/2024
6.0.31967 126 8/26/2024
6.0.31966 142 8/21/2024
6.0.31965 209 8/19/2024
6.0.31964 137 8/19/2024
6.0.31963 135 8/19/2024
6.0.31962 148 8/15/2024
6.0.31961 162 8/13/2024
6.0.31960 145 8/12/2024
6.0.31959 133 8/12/2024
6.0.31958 112 8/7/2024
6.0.31957 118 8/7/2024
6.0.31956 100 8/6/2024
6.0.31955 111 8/6/2024
6.0.31954 106 8/6/2024
6.0.31953 108 8/6/2024
6.0.31952 110 8/5/2024
6.0.31951 105 8/2/2024
6.0.31950 101 8/2/2024
6.0.31949 103 8/2/2024
6.0.31948 122 8/1/2024
6.0.31947 110 7/31/2024
6.0.31946 155 7/30/2024
6.0.31945 87 7/30/2024
6.0.31944 98 7/25/2024
6.0.31943 88 7/25/2024
6.0.31942 127 7/24/2024
6.0.31941 133 7/24/2024
6.0.31940 138 7/22/2024
6.0.31939 123 7/22/2024
6.0.31938 126 7/22/2024
6.0.31937 140 7/21/2024
6.0.31936 119 7/19/2024
6.0.31935 115 7/19/2024
6.0.31934 113 7/19/2024
6.0.31933 116 7/18/2024
6.0.31932 114 7/18/2024
6.0.31931 105 7/18/2024
6.0.31930 107 7/18/2024
6.0.31929 110 7/16/2024
6.0.31928 114 7/16/2024
6.0.31927 108 7/16/2024
6.0.31926 110 7/16/2024
6.0.31925 103 7/16/2024
6.0.31924 106 7/16/2024
6.0.31921 108 7/15/2024
6.0.31920 100 7/15/2024
6.0.31919 108 7/15/2024
6.0.31918 100 7/11/2024
6.0.31917 101 7/11/2024
6.0.31916 116 7/11/2024
6.0.31915 108 7/11/2024
6.0.31914 114 7/10/2024
6.0.31913 123 7/10/2024
6.0.31912 120 7/10/2024
6.0.31911 112 7/10/2024
6.0.31910 135 7/4/2024
6.0.31909 126 7/3/2024
6.0.31908 132 7/3/2024
6.0.31907 134 7/2/2024
6.0.31906 138 6/27/2024
6.0.31905 132 6/27/2024
6.0.31904 140 6/27/2024
6.0.31903 133 6/27/2024
6.0.31902 115 6/27/2024
6.0.31901 123 6/26/2024
6.0.31900 124 6/26/2024
6.0.31899 124 6/26/2024
6.0.31898 136 6/26/2024
6.0.31897 117 6/26/2024
6.0.31896 105 6/26/2024
6.0.31894 121 6/25/2024
6.0.31893 122 6/25/2024
6.0.31892 116 6/25/2024
6.0.31891 114 6/25/2024
6.0.31890 118 6/25/2024
6.0.31887 115 6/25/2024
6.0.31886 122 6/25/2024
6.0.31885 117 6/24/2024
6.0.31884 118 6/24/2024
6.0.31883 138 6/23/2024
6.0.31882 119 6/21/2024
6.0.31881 128 6/21/2024
6.0.31880 120 6/21/2024
6.0.31879 138 6/20/2024
6.0.31878 198 6/19/2024
6.0.31877 135 6/19/2024
6.0.31876 129 6/19/2024
6.0.31875 136 6/19/2024
6.0.31874 130 6/19/2024
6.0.31873 134 6/19/2024
6.0.31872 142 6/19/2024
6.0.31871 141 6/19/2024
6.0.31870 132 6/19/2024
6.0.31869 134 6/19/2024
6.0.31868 144 6/18/2024
6.0.31867 126 6/18/2024
6.0.31866 137 6/18/2024
6.0.31865 138 6/18/2024
6.0.31864 150 6/18/2024
6.0.31863 132 6/18/2024
6.0.31862 135 6/18/2024
6.0.31861 121 6/18/2024
6.0.31860 126 6/17/2024
6.0.31859 126 6/17/2024
6.0.31858 127 6/17/2024
6.0.31857 136 6/17/2024
6.0.31856 132 6/17/2024
6.0.31855 121 6/17/2024
6.0.31854 128 6/17/2024
6.0.31853 142 6/17/2024
6.0.31852 132 6/17/2024
6.0.31851 130 6/17/2024
6.0.31850 130 6/17/2024
6.0.31849 121 6/17/2024
6.0.31848 131 6/15/2024
6.0.31847 127 6/15/2024
6.0.31846 122 6/14/2024
6.0.31845 134 6/14/2024
6.0.31844 139 6/14/2024
6.0.31843 126 6/14/2024
6.0.31842 140 6/14/2024
6.0.31841 131 6/13/2024
6.0.31840 132 6/13/2024
6.0.31839 125 6/13/2024
6.0.31838 125 6/13/2024
6.0.31837 124 6/13/2024
6.0.31836 133 6/13/2024
6.0.31835 137 6/13/2024
6.0.31834 119 6/13/2024
6.0.31833 124 6/12/2024
6.0.31832 114 6/12/2024
6.0.31831 114 6/11/2024
6.0.31830 109 6/11/2024
6.0.31829 107 6/11/2024
6.0.31828 108 6/11/2024
6.0.31827 122 6/11/2024
6.0.31826 108 6/11/2024
6.0.31825 122 6/10/2024
6.0.31824 111 6/10/2024
6.0.31823 115 6/10/2024
6.0.31822 116 6/10/2024
6.0.31821 113 6/10/2024
6.0.31820 115 6/10/2024
6.0.31819 113 6/10/2024
6.0.31818 108 6/10/2024
6.0.31817 114 6/7/2024
6.0.31816 116 6/7/2024
6.0.31815 118 6/7/2024
6.0.31814 129 6/6/2024
6.0.31813 129 6/6/2024
6.0.31812 126 6/6/2024
6.0.31811 117 6/6/2024
6.0.31810 130 6/6/2024
6.0.31809 127 6/6/2024
6.0.31808 119 6/6/2024
6.0.31807 130 6/5/2024
6.0.31806 131 6/4/2024
6.0.31805 125 6/4/2024
6.0.31804 130 6/4/2024
6.0.31803 129 6/4/2024
6.0.31802 124 6/4/2024
6.0.31801 130 6/3/2024
6.0.31800 126 6/3/2024
6.0.31799 121 6/3/2024
6.0.31798 118 6/3/2024
6.0.31797 104 6/3/2024
6.0.31796 128 6/3/2024
6.0.31795 135 6/3/2024
6.0.31794 150 5/31/2024
6.0.31793 141 5/30/2024
6.0.31792 137 5/30/2024
6.0.31791 125 5/30/2024
6.0.31790 132 5/30/2024
6.0.31789 134 5/30/2024
6.0.31788 135 5/30/2024
6.0.31787 132 5/29/2024
6.0.31786 121 5/29/2024
6.0.31785 127 5/29/2024
6.0.31784 117 5/29/2024
6.0.31783 142 5/27/2024
6.0.31782 124 5/27/2024
6.0.31781 138 5/26/2024
6.0.31780 136 5/24/2024
6.0.31779 129 5/22/2024
6.0.31778 138 5/22/2024
6.0.31777 120 5/22/2024
6.0.31776 134 5/22/2024
6.0.31775 127 5/22/2024
6.0.31774 126 5/21/2024
6.0.31773 126 5/21/2024
6.0.31772 137 5/20/2024
6.0.31771 123 5/16/2024
6.0.31770 123 5/15/2024
6.0.31769 129 5/15/2024
6.0.31768 134 5/15/2024
6.0.31767 118 5/15/2024
6.0.31766 141 5/15/2024
6.0.31764 135 5/14/2024
6.0.31763 120 5/14/2024
6.0.31762 114 5/14/2024
6.0.31761 129 5/14/2024
6.0.31760 129 5/14/2024
6.0.31759 133 5/13/2024
6.0.31758 131 5/13/2024
6.0.31757 117 5/13/2024
6.0.31756 124 5/12/2024
6.0.31755 117 5/12/2024
6.0.31754 129 5/12/2024
6.0.31753 137 5/8/2024
6.0.31751 135 5/7/2024
6.0.31749 134 5/6/2024
6.0.31748 140 5/6/2024
6.0.31747 149 5/6/2024
6.0.31746 106 5/3/2024
6.0.31745 95 5/3/2024
6.0.31744 95 5/3/2024
6.0.31743 95 5/2/2024
6.0.31742 134 4/27/2024
6.0.31741 131 4/27/2024
6.0.31740 136 4/26/2024
6.0.31739 127 4/26/2024
6.0.31738 148 4/26/2024
6.0.31737 156 4/26/2024
6.0.31735 157 4/25/2024
6.0.31734 144 4/25/2024
6.0.31733 130 4/25/2024
6.0.31732 127 4/25/2024
6.0.31731 122 4/25/2024
6.0.31730 139 4/24/2024
6.0.31729 130 4/24/2024
6.0.31728 138 4/24/2024
6.0.31727 138 4/23/2024
6.0.31726 116 4/23/2024
6.0.31725 130 4/23/2024
6.0.31724 126 4/22/2024
6.0.31723 135 4/22/2024
6.0.31722 140 4/22/2024
6.0.31721 140 4/22/2024
6.0.31720 135 4/22/2024
6.0.31719 127 4/22/2024
6.0.31718 129 4/22/2024
6.0.31717 140 4/22/2024
6.0.31716 128 4/22/2024
6.0.31715 141 4/20/2024
6.0.31714 144 4/19/2024
6.0.31713 122 4/19/2024
6.0.31712 118 4/19/2024
6.0.31711 134 4/19/2024
6.0.31710 127 4/19/2024
6.0.31709 142 4/19/2024
6.0.31708 132 4/18/2024
6.0.31707 129 4/18/2024
6.0.31706 125 4/18/2024
6.0.31705 123 4/17/2024
6.0.31704 145 4/17/2024
6.0.31703 130 4/17/2024
6.0.31702 132 4/17/2024
6.0.31701 122 4/16/2024
6.0.31700 125 4/16/2024
6.0.31699 132 4/16/2024
6.0.31698 114 4/16/2024
6.0.31697 121 4/16/2024
6.0.31696 125 4/16/2024
6.0.31695 122 4/16/2024
6.0.31694 119 4/16/2024
6.0.31693 124 4/16/2024
6.0.31692 126 4/15/2024
6.0.31691 127 4/15/2024
6.0.31690 131 4/15/2024
6.0.31688 138 4/12/2024
6.0.31687 118 4/12/2024
6.0.31686 122 4/12/2024
6.0.31685 124 4/12/2024
6.0.31684 112 4/11/2024
6.0.31683 137 4/10/2024
6.0.31682 134 4/10/2024
6.0.31681 112 4/10/2024
6.0.31680 132 4/10/2024
6.0.31679 109 4/10/2024
6.0.31678 123 4/10/2024
6.0.31677 132 4/9/2024
6.0.31676 133 4/9/2024
6.0.31675 129 4/8/2024
6.0.31674 132 4/8/2024
6.0.31673 139 4/8/2024
6.0.31672 112 4/8/2024
6.0.31671 118 4/8/2024
6.0.31670 136 4/8/2024
6.0.31669 139 4/8/2024
6.0.31668 134 4/5/2024
6.0.31667 135 4/5/2024
6.0.31666 139 4/3/2024
6.0.31665 129 4/3/2024
6.0.31663 142 4/3/2024
6.0.31662 131 4/3/2024
6.0.31661 128 4/2/2024
6.0.31660 138 4/1/2024
6.0.31659 137 4/1/2024
6.0.31658 122 4/1/2024
6.0.31657 124 3/29/2024
6.0.31656 126 3/29/2024
6.0.31655 126 3/29/2024
6.0.31654 129 3/29/2024
6.0.31653 126 3/29/2024
6.0.31651 115 3/29/2024
6.0.31650 126 3/29/2024
6.0.31649 113 3/29/2024
6.0.31648 131 3/29/2024
6.0.31647 122 3/29/2024
6.0.31646 139 3/29/2024
6.0.31645 123 3/28/2024
6.0.31644 124 3/28/2024
6.0.31643 135 3/28/2024
6.0.31642 121 3/28/2024
6.0.31639 138 3/28/2024
6.0.31638 116 3/28/2024
6.0.31637 141 3/27/2024
6.0.31636 158 3/27/2024
6.0.31631 129 3/27/2024
6.0.31626 137 3/26/2024
6.0.31625 142 3/25/2024
6.0.31618 138 3/20/2024
6.0.31617 133 3/20/2024
6.0.31616 142 3/20/2024
6.0.31615 150 3/20/2024
6.0.31614 155 3/19/2024
6.0.31613 153 3/18/2024
6.0.31612 154 3/18/2024
6.0.31611 158 3/18/2024
6.0.31610 150 3/18/2024
6.0.31609 142 3/15/2024
6.0.31608 144 3/14/2024
6.0.31607 152 3/13/2024
6.0.31606 147 3/13/2024
6.0.31605 137 3/13/2024
6.0.31604 140 3/12/2024
6.0.31603 134 3/12/2024
6.0.31602 172 3/7/2024
6.0.31601 153 3/7/2024
6.0.31600 156 3/7/2024
6.0.31599 162 3/6/2024
6.0.31598 149 3/6/2024
6.0.31597 149 3/6/2024
6.0.31596 152 3/6/2024
6.0.31595 162 3/6/2024
6.0.31594 136 3/4/2024
6.0.31593 139 3/4/2024
6.0.31590 141 3/1/2024
6.0.31589 143 3/1/2024
6.0.31588 134 3/1/2024
6.0.31587 144 3/1/2024
6.0.31586 152 3/1/2024
6.0.31585 133 3/1/2024
6.0.31584 139 3/1/2024
6.0.31583 140 3/1/2024
6.0.31582 140 2/29/2024
6.0.31581 140 2/29/2024
6.0.31580 132 2/29/2024
6.0.31579 148 2/29/2024
6.0.31578 147 2/29/2024
6.0.31577 140 2/29/2024
6.0.31576 151 2/29/2024
6.0.31575 466 2/28/2024
6.0.254 88 3/27/2025
6.0.253 87 3/27/2025
6.0.252 86 3/27/2025
6.0.251 447 3/26/2025
6.0.250 448 3/26/2025
6.0.249 443 3/26/2025
6.0.248 444 3/26/2025
6.0.247 75 3/21/2025
6.0.246 93 3/21/2025
6.0.245 117 3/21/2025
6.0.244 129 3/19/2025
6.0.243 130 3/19/2025
6.0.242 135 3/19/2025
6.0.241 136 3/19/2025
6.0.240 133 3/19/2025
6.0.239 131 3/19/2025
6.0.238 133 3/19/2025
6.0.237 135 3/19/2025
6.0.236 132 3/18/2025
6.0.234 128 3/18/2025
6.0.233 131 3/17/2025
6.0.232 138 3/17/2025
6.0.231 131 3/17/2025
6.0.230 131 3/17/2025
6.0.229 84 3/14/2025
6.0.228 102 3/14/2025
6.0.227 106 3/14/2025
6.0.226 105 3/14/2025
6.0.225 113 3/14/2025
6.0.224 115 3/14/2025
6.0.223 133 3/13/2025
6.0.222 132 3/13/2025
6.0.221 132 3/13/2025
6.0.220 134 3/13/2025
6.0.219 145 3/12/2025
6.0.218 158 3/12/2025
6.0.217 163 3/11/2025
6.0.216 149 3/11/2025
6.0.215 163 3/10/2025
6.0.213 162 3/10/2025
6.0.212 160 3/10/2025
6.0.211 165 3/10/2025
6.0.210 156 3/10/2025
6.0.209 153 3/10/2025
6.0.208 167 3/10/2025
6.0.207 162 3/10/2025
6.0.206 164 3/10/2025
6.0.205 164 3/10/2025
6.0.204 207 3/7/2025
6.0.203 201 3/6/2025
6.0.202 206 3/6/2025
6.0.201 208 3/6/2025
6.0.200 201 3/6/2025
6.0.199 187 3/5/2025
6.0.198 191 3/5/2025
6.0.197 185 3/5/2025
6.0.196 202 3/5/2025
6.0.195 202 3/5/2025
6.0.194 198 3/5/2025
6.0.193 199 3/5/2025
6.0.192 187 3/5/2025
6.0.191 205 3/4/2025
6.0.190 200 3/4/2025
6.0.189 182 3/3/2025
6.0.188 141 3/3/2025
6.0.187 132 3/3/2025
6.0.186 92 2/28/2025
6.0.185 90 2/28/2025
6.0.184 86 2/28/2025
6.0.183 86 2/28/2025
6.0.182 81 2/28/2025
6.0.181 88 2/28/2025
6.0.180 103 2/27/2025
6.0.179 91 2/27/2025
6.0.178 92 2/27/2025
6.0.177 84 2/26/2025
6.0.176 86 2/26/2025
6.0.175 91 2/26/2025
6.0.174 89 2/26/2025
6.0.173 92 2/26/2025
6.0.172 86 2/25/2025
6.0.171 93 2/25/2025
6.0.170 82 2/25/2025
6.0.169 93 2/24/2025
6.0.168 90 2/24/2025
6.0.167 90 2/24/2025
6.0.166 93 2/24/2025
6.0.165 94 2/21/2025
6.0.164 100 2/21/2025
6.0.163 97 2/20/2025
6.0.162 89 2/19/2025
6.0.161 97 2/19/2025
6.0.160 103 2/18/2025
6.0.159 96 2/18/2025
6.0.158 109 2/17/2025
6.0.157 100 2/17/2025
6.0.156 97 2/14/2025
6.0.155 82 2/13/2025
6.0.154 92 2/13/2025
6.0.153 107 2/13/2025
6.0.152 96 2/11/2025
6.0.151 105 2/10/2025
6.0.150 92 2/8/2025
6.0.146 89 2/8/2025
6.0.145 96 2/7/2025
6.0.143 95 2/7/2025
6.0.142 88 2/6/2025
6.0.141 98 2/5/2025
6.0.140 96 2/5/2025
6.0.139 96 2/4/2025
6.0.138 104 2/3/2025
6.0.137 103 1/30/2025
6.0.135 83 1/29/2025
6.0.134 77 1/29/2025
6.0.133 87 1/29/2025
6.0.132 87 1/29/2025
6.0.131 82 1/27/2025
6.0.128 77 1/24/2025
6.0.127 84 1/23/2025
6.0.126 83 1/22/2025
6.0.125 83 1/22/2025
6.0.124 85 1/21/2025
6.0.123 93 1/21/2025
6.0.122 93 1/20/2025
6.0.121 85 1/20/2025
6.0.120 92 1/20/2025
6.0.119 84 1/17/2025
6.0.118 81 1/16/2025
6.0.117 80 1/16/2025
6.0.116 78 1/16/2025
6.0.115 87 1/15/2025
6.0.114 86 1/15/2025
6.0.113 84 1/15/2025
6.0.112 79 1/13/2025
6.0.111 87 1/9/2025
6.0.110 76 1/9/2025
6.0.109 84 1/9/2025
6.0.108 80 1/9/2025
6.0.107 71 1/9/2025
6.0.106 72 1/9/2025
6.0.105 72 1/9/2025
6.0.104 94 12/28/2024
6.0.103 101 12/28/2024
6.0.102 95 12/28/2024
6.0.101 88 12/28/2024
6.0.100 82 12/27/2024
6.0.99 95 12/27/2024
6.0.98 91 12/27/2024
6.0.97 90 12/24/2024
6.0.96 96 12/23/2024
6.0.95 93 12/20/2024
6.0.94 97 12/20/2024
6.0.93 105 12/20/2024
6.0.92 98 12/19/2024
6.0.91 94 12/19/2024
6.0.90 95 12/19/2024
6.0.89 91 12/19/2024
6.0.88 92 12/18/2024
6.0.87 95 12/18/2024
6.0.86 90 12/18/2024
6.0.85 95 12/17/2024
6.0.84 91 12/17/2024
6.0.83 93 12/16/2024
6.0.82 99 12/16/2024
6.0.81 100 12/16/2024
6.0.80 75 12/16/2024
6.0.79 94 12/13/2024
6.0.78 98 12/13/2024
6.0.77 96 12/12/2024
6.0.76 93 12/12/2024
6.0.75 94 12/12/2024
6.0.74 103 12/12/2024
6.0.73 96 12/11/2024
6.0.72 102 12/11/2024
6.0.71 94 12/11/2024
6.0.70 92 12/10/2024
6.0.69 92 12/10/2024
6.0.68 102 12/10/2024
6.0.67 93 12/10/2024
6.0.66 93 12/10/2024
6.0.65 93 12/10/2024
6.0.64 98 12/9/2024
6.0.63 95 12/9/2024
6.0.62 105 12/9/2024
6.0.61 103 12/8/2024
6.0.60 109 12/6/2024
6.0.59 100 12/6/2024
6.0.58 99 12/3/2024
6.0.57 108 12/3/2024
6.0.56 93 12/2/2024
6.0.55 92 12/2/2024
6.0.54 102 11/28/2024
6.0.53 96 11/27/2024
6.0.52 90 11/27/2024
6.0.51 94 11/27/2024
6.0.50 92 11/27/2024
6.0.49 101 11/26/2024
6.0.48 95 11/25/2024
6.0.47 101 11/25/2024
6.0.46 103 11/25/2024
6.0.45 89 11/25/2024
6.0.44 96 11/22/2024
6.0.43 93 11/22/2024
6.0.42 94 11/21/2024
6.0.41 92 11/21/2024
6.0.40 95 11/20/2024
6.0.36 94 11/20/2024
6.0.35 100 11/20/2024
6.0.34 105 11/20/2024
6.0.32 98 11/20/2024
6.0.31 96 11/19/2024
6.0.30 101 11/18/2024
6.0.29 106 11/18/2024
6.0.28 99 11/15/2024
6.0.27 103 11/15/2024
6.0.26 96 11/14/2024
6.0.25 106 11/14/2024
6.0.24 98 11/13/2024
6.0.23 97 11/13/2024
6.0.22 105 11/12/2024
6.0.21 101 11/12/2024
6.0.20 116 11/12/2024
6.0.19 105 11/11/2024
6.0.18 107 11/11/2024
6.0.17 112 11/11/2024
6.0.16 99 11/8/2024
6.0.15 97 11/7/2024
6.0.14 96 11/7/2024
6.0.12 108 11/5/2024
6.0.11 103 11/5/2024
6.0.10 100 11/5/2024
6.0.9 96 10/30/2024
6.0.8 97 10/30/2024
6.0.7 89 10/30/2024
6.0.6 97 10/28/2024
6.0.5 92 10/23/2024
6.0.4 106 10/23/2024