using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Xunit;
using Xunit.Abstractions;
using Xunit.Extensions;
using Xunit.Sdk;

using xUnitStudy.Model;

namespace xUnitStudy.WebApi.Test.UseFixture
{
    /// <summary>
    /// 同时使用多种共享
    /// </summary>
    [Collection("Demo Collection")]
    public class UseFullFixtures : IDisposable, IClassFixture<ClassFixtureDemo>
    {
        CollectionFixtureDemo collectionFixture;
        ClassFixtureDemo classFixture;

        public UseFullFixtures(CollectionFixtureDemo collectionDemo, ClassFixtureDemo fixtureDemo)
        {
            classFixture = fixtureDemo;
            collectionFixture = collectionDemo;
        }

        [Fact]
        public void Test()
        {
            Assert.NotNull(classFixture);

            var person = collectionFixture.GetPersonById(2);
            Assert.Equal(2, person.Id);
        }

        public void Dispose()
        {
            //每个测试用例的清理
        }
    }
}