diff --git a/src/TonRadar.Fragment.Test/FragmentClientBaseTests.cs b/src/TonRadar.Fragment.Test/FragmentClientBaseTests.cs index 20a1fc1..df7f6a8 100644 --- a/src/TonRadar.Fragment.Test/FragmentClientBaseTests.cs +++ b/src/TonRadar.Fragment.Test/FragmentClientBaseTests.cs @@ -1,3 +1,4 @@ +using TonRadar.Fragment.Client; using TonRadar.Fragment.Enum; namespace TonRadar.Fragment.Test @@ -7,7 +8,7 @@ public class FragmentClientBaseTests [Fact] public async Task GetHtml_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClientBase(); var content = await client.GetHtmlAsync(@"https://fragment.com/numbers"); Assert.NotNull(content); diff --git a/src/TonRadar.Fragment.Test/FragmentNumbersClientAuctionTests.cs b/src/TonRadar.Fragment.Test/FragmentNumbersClientAuctionTests.cs index 628a06d..00ea090 100644 --- a/src/TonRadar.Fragment.Test/FragmentNumbersClientAuctionTests.cs +++ b/src/TonRadar.Fragment.Test/FragmentNumbersClientAuctionTests.cs @@ -1,56 +1,57 @@ +using TonRadar.Fragment.Client; using TonRadar.Fragment.Enum; namespace TonRadar.Fragment.Test { [Trait("GitHubActions", "Skip")] - public class FragmentNumbersClientAuctionTests + public class FragmentClientAuctionTests { [Fact] public async Task GetAuctionItems_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync()).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync()).Any()); } [Fact] public async Task GetAuctionItems_OnAuction_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.OnAuction)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.OnAuction)).Any()); } [Fact] public async Task GetAuctionItems_OnAuction_EndingSoon_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.EndingSoon)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.EndingSoon)).Any()); } [Fact] public async Task GetAuctionItems_OnAuction_PriceHighToLow_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.PriceHighToLow)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.PriceHighToLow)).Any()); } [Fact] public async Task GetAuctionItems_OnAuction_PriceLowToHigh_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.PriceLowToHigh)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.PriceLowToHigh)).Any()); } [Fact] public async Task GetAuctionItems_OnAuction_RecentlyListed_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.RecentlyListed)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.OnAuction, FragmentSortType.RecentlyListed)).Any()); } } } \ No newline at end of file diff --git a/src/TonRadar.Fragment.Test/FragmentNumbersClientSaleTests.cs b/src/TonRadar.Fragment.Test/FragmentNumbersClientSaleTests.cs index bcadc5c..7e13eb4 100644 --- a/src/TonRadar.Fragment.Test/FragmentNumbersClientSaleTests.cs +++ b/src/TonRadar.Fragment.Test/FragmentNumbersClientSaleTests.cs @@ -1,48 +1,49 @@ +using TonRadar.Fragment.Client; using TonRadar.Fragment.Enum; namespace TonRadar.Fragment.Test { [Trait("GitHubActions", "Skip")] - public class FragmentNumbersClientSaleTests + public class FragmentClientSaleTests { [Fact] public async Task GetAuctionItems_ForSale_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.ForSale)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.ForSale)).Any()); } [Fact] public async Task GetAuctionItems_ForSale_EndingSoon_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.EndingSoon)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.EndingSoon)).Any()); } [Fact] public async Task GetAuctionItems_ForSale_PriceHighToLow_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.PriceHighToLow)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.PriceHighToLow)).Any()); } [Fact] public async Task GetAuctionItems_ForSale_PriceLowToHigh_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.PriceLowToHigh)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.PriceLowToHigh)).Any()); } [Fact] public async Task GetAuctionItems_ForSale_RecentlyListed_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.RecentlyListed)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.ForSale, FragmentSortType.RecentlyListed)).Any()); } } } \ No newline at end of file diff --git a/src/TonRadar.Fragment.Test/FragmentNumbersClientSoldTests.cs b/src/TonRadar.Fragment.Test/FragmentNumbersClientSoldTests.cs index 3cdf3aa..c7d40db 100644 --- a/src/TonRadar.Fragment.Test/FragmentNumbersClientSoldTests.cs +++ b/src/TonRadar.Fragment.Test/FragmentNumbersClientSoldTests.cs @@ -1,48 +1,49 @@ +using TonRadar.Fragment.Client; using TonRadar.Fragment.Enum; namespace TonRadar.Fragment.Test { [Trait("GitHubActions", "Skip")] - public class FragmentNumbersClientSoldTests + public class FragmentClientSoldTests { [Fact] public async Task GetAuctionItems_Sold_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.Sold)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.Sold)).Any()); } [Fact] public async Task GetAuctionItems_Sold_EndingSoon_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.EndingSoon)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.EndingSoon)).Any()); } [Fact] public async Task GetAuctionItems_Sold_PriceHighToLow_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.PriceHighToLow)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.PriceHighToLow)).Any()); } [Fact] public async Task GetAuctionItems_Sold_PriceLowToHigh_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.PriceLowToHigh)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.PriceLowToHigh)).Any()); } [Fact] public async Task GetAuctionItems_Sold_RecentlyListed_MustWork() { - var client = new FragmentNumbersClient(); + var client = new FragmentClient(); - Assert.True((await client.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.RecentlyListed)).Any()); + Assert.True((await client.Numbers.GetAuctionItemsAsync(FragmentFilterType.Sold, FragmentSortType.RecentlyListed)).Any()); } } } \ No newline at end of file diff --git a/src/TonRadar.Fragment.Test/FragmentParserTests.cs b/src/TonRadar.Fragment.Test/FragmentParserTests.cs index bf80598..bd4dbc8 100644 --- a/src/TonRadar.Fragment.Test/FragmentParserTests.cs +++ b/src/TonRadar.Fragment.Test/FragmentParserTests.cs @@ -1,5 +1,6 @@ using System.Reflection; using TonRadar.Fragment.Model; +using TonRadar.Fragment.Parser; using TonRadar.Fragment.Test.Util; namespace TonRadar.Fragment.Test; diff --git a/src/TonRadar.Fragment/FragmentClientBase.cs b/src/TonRadar.Fragment/Client/FragmentClientBase.cs similarity index 96% rename from src/TonRadar.Fragment/FragmentClientBase.cs rename to src/TonRadar.Fragment/Client/FragmentClientBase.cs index fb5ef07..36311d5 100644 --- a/src/TonRadar.Fragment/FragmentClientBase.cs +++ b/src/TonRadar.Fragment/Client/FragmentClientBase.cs @@ -1,7 +1,8 @@ using System.Text; using TonRadar.Fragment.Enum; +using TonRadar.Fragment.Parser; -namespace TonRadar.Fragment; +namespace TonRadar.Fragment.Client; public class FragmentClientBase { @@ -59,5 +60,5 @@ protected string CreateQueryParams(FragmentFilterType? filterType = null, Fragme return string.Join("&", queryParams); } - + } \ No newline at end of file diff --git a/src/TonRadar.Fragment/FragmentNumbersClient.cs b/src/TonRadar.Fragment/Client/FragmentNumbersClient.cs similarity index 80% rename from src/TonRadar.Fragment/FragmentNumbersClient.cs rename to src/TonRadar.Fragment/Client/FragmentNumbersClient.cs index b47eca6..1051d7e 100644 --- a/src/TonRadar.Fragment/FragmentNumbersClient.cs +++ b/src/TonRadar.Fragment/Client/FragmentNumbersClient.cs @@ -1,10 +1,20 @@ using TonRadar.Fragment.Enum; using TonRadar.Fragment.Model; -namespace TonRadar.Fragment; +namespace TonRadar.Fragment.Client; public class FragmentNumbersClient : FragmentClientBase { + public FragmentNumbersClient(HttpClient httpClient) : base(httpClient) + { + + } + + public FragmentNumbersClient() : this(new HttpClient()) + { + + } + public async Task> GetAuctionItemsAsync( FragmentFilterType filter = FragmentFilterType.OnAuction, FragmentSortType sort = FragmentSortType.PriceHighToLow) @@ -22,5 +32,5 @@ public async Task> GetAuctionItemsAsync( return auctionItems; } - + } \ No newline at end of file diff --git a/src/TonRadar.Fragment/FragmentClient.cs b/src/TonRadar.Fragment/FragmentClient.cs index bc16989..c2ebdbd 100644 --- a/src/TonRadar.Fragment/FragmentClient.cs +++ b/src/TonRadar.Fragment/FragmentClient.cs @@ -1,12 +1,15 @@ -namespace TonRadar.Fragment +using TonRadar.Fragment.Client; + +namespace TonRadar.Fragment { public class FragmentClient { - public HttpClient HttpClient { get; } - + private HttpClient HttpClient { get; } + public FragmentNumbersClient Numbers { get; } public FragmentClient(HttpClient httpClient) { HttpClient = httpClient; + Numbers = new FragmentNumbersClient(httpClient); } public FragmentClient() : this(new HttpClient()) diff --git a/src/TonRadar.Fragment/FragmentHtmlParser.cs b/src/TonRadar.Fragment/Parser/FragmentHtmlParser.cs similarity index 99% rename from src/TonRadar.Fragment/FragmentHtmlParser.cs rename to src/TonRadar.Fragment/Parser/FragmentHtmlParser.cs index f3093ae..c69b974 100644 --- a/src/TonRadar.Fragment/FragmentHtmlParser.cs +++ b/src/TonRadar.Fragment/Parser/FragmentHtmlParser.cs @@ -9,7 +9,7 @@ using TonRadar.Fragment.Enum; -namespace TonRadar.Fragment +namespace TonRadar.Fragment.Parser { public class FragmentHtmlParser {