Skip to content

Commit

Permalink
tidy formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
dandcg committed Sep 6, 2024
1 parent 92a2065 commit 5a873fb
Showing 1 changed file with 107 additions and 93 deletions.
200 changes: 107 additions & 93 deletions test/Uniswap.Sdk.Testing/V3/Entities/TradeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -235,10 +235,11 @@ await Trade<Token, Ether>.FromRoutes(
public void CreateUncheckedTrade_ThrowsIfInputCurrencyDoesNotMatchRoute()
{
Assert.Throws<ArgumentException>(() =>
Trade<Token, Token>.CreateUncheckedTrade( new RouteInput<Token, Token>(){
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 10000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 10000)
Trade<Token, Token>.CreateUncheckedTrade(new RouteInput<Token, Token>
{
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 10000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 10000)
},
TradeType.EXACT_INPUT
)
Expand All @@ -250,7 +251,8 @@ public void CreateUncheckedTrade_ThrowsIfOutputCurrencyDoesNotMatchRoute()
{
Assert.Throws<ArgumentException>(() =>
Trade<Token, Token>.CreateUncheckedTrade
(new RouteInput<Token, Token>(){
(new RouteInput<Token, Token>
{
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 10000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 10000)
Expand All @@ -264,7 +266,8 @@ public void CreateUncheckedTrade_ThrowsIfOutputCurrencyDoesNotMatchRoute()
public void CreateUncheckedTrade_CanCreateAnExactInputTradeWithoutSimulating()
{
Trade<Token, Token>.CreateUncheckedTrade(
new RouteInput<Token, Token>(){
new RouteInput<Token, Token>
{
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 10000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 100000)
Expand All @@ -277,10 +280,12 @@ public void CreateUncheckedTrade_CanCreateAnExactInputTradeWithoutSimulating()
public void CreateUncheckedTrade_CanCreateAnExactOutputTradeWithoutSimulating()
{
Trade<Token, Token>.CreateUncheckedTrade(
new RouteInput<Token, Token>(){
new RouteInput<Token, Token>
{
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 10000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 100000)}
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 100000)
}
,
TradeType.EXACT_OUTPUT
);
Expand Down Expand Up @@ -338,41 +343,41 @@ public void CreateUncheckedTradeWithMultipleRoutes_ThrowsIfOutputCurrencyDoesNot
[Fact]
public void CreateUncheckedTradeWithMultipleRoutes_CanCreateAnExactInputTradeWithoutSimulatingWithMultipleRoutes()
{
Trade<Token,Token>.CreateUncheckedTradeWithMultipleRoutes([
new RouteInput<Token,Token>
Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes([
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>([pool_0_1], token0, token1),
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 5000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000)
},
new RouteInput<Token,Token>
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>([pool_0_2, pool_1_2], token0, token1),
Route = new Route<Token, Token>([pool_0_2, pool_1_2], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 5000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000)
}
],
TradeType.EXACT_INPUT);
],
TradeType.EXACT_INPUT);
}

[Fact]
public void CreateUncheckedTradeWithMultipleRoutes_CanCreateAnExactOutputTradeWithoutSimulatingWithMultipleRoutes()
{
Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes([
new RouteInput<Token,Token>
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>([pool_0_1], token0, token1),
Route = new Route<Token, Token>([pool_0_1], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 5001),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000)
},
new RouteInput<Token,Token>
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>([pool_0_2, pool_1_2], token0, token1),
Route = new Route<Token, Token>([pool_0_2, pool_1_2], token0, token1),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 4999),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token1, 50000)
}
],
TradeType.EXACT_OUTPUT
TradeType.EXACT_OUTPUT
);
}

Expand All @@ -381,10 +386,12 @@ public void CreateUncheckedTradeWithMultipleRoutes_CanCreateAnExactOutputTradeWi
public void RouteAndSwaps()
{
var singleRoute = Trade<Token, Token>.CreateUncheckedTrade(
new RouteInput<Token, Token>(){
Route=new Route<Token, Token>([pool_0_1, pool_1_2], token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 100),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 69)},
new RouteInput<Token, Token>
{
Route = new Route<Token, Token>([pool_0_1, pool_1_2], token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 100),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 69)
},
TradeType.EXACT_INPUT
);

Expand Down Expand Up @@ -421,30 +428,28 @@ public void RouteAndSwaps()
public void WorstExecutionPrice()
{
// Test for EXACT_INPUT
var exactIn = Trade<Token,Token>.CreateUncheckedTrade(new RouteInput<Token, Token>()
var exactIn = Trade<Token, Token>.CreateUncheckedTrade(new RouteInput<Token, Token>
{
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 100),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 69),

OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 69)
}, TradeType.EXACT_INPUT);

var exactInMultiRoute = Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes(
[
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 50),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 35),
},
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 50),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 34),
}
],
TradeType.EXACT_INPUT);
[
new RouteInput<Token, Token>
{
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 50),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 35)
},
new RouteInput<Token, Token>
{
Route = new Route<Token, Token>(new List<Pool> { pool_0_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 50),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 34)
}
], TradeType.EXACT_INPUT);

Assert.Throws<ArgumentException>(() => exactIn.MinimumAmountOut(new Percent(-1, 100)));
Assert.Equal(exactIn.ExecutionPrice, exactIn.WorstExecutionPrice(new Percent(0, 100)));
Expand All @@ -457,30 +462,30 @@ public void WorstExecutionPrice()
Assert.Equal(new Price<Token, Token>(token0, token2, 100, 23), exactInMultiRoute.WorstExecutionPrice(new Percent(200, 100)));

// Test for EXACT_OUTPUT
var exactOut = Trade<Token, Token>.CreateUncheckedTrade(new RouteInput<Token, Token>()
var exactOut = Trade<Token, Token>.CreateUncheckedTrade(new RouteInput<Token, Token>
{
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 156),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 100),

}, TradeType.EXACT_OUTPUT);
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 100)
}, TradeType.EXACT_OUTPUT);

var exactOutMultiRoute = Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes(

[ new RouteInput<Token, Token>
[
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 78),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 50),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 50)
},
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 78),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 50),
}]
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 50)
}
]
,
TradeType.EXACT_OUTPUT
TradeType.EXACT_OUTPUT
);

Assert.Throws<ArgumentException>(() => exactOut.WorstExecutionPrice(new Percent(-1, 100)));
Expand All @@ -499,65 +504,70 @@ public void PriceImpact()
{
// Test for EXACT_INPUT
var exactIn = Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes(
[
new RouteInput<Token, Token>
[
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 100),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 69)
}
],
TradeType.EXACT_INPUT
}
],
TradeType.EXACT_INPUT
);

var exactInMultipleRoutes = Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes(
[ new RouteInput<Token, Token>
[
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 90),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 62),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 62)
},
new RouteInput<Token, Token>
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 10),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 7),
}]
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 7)
}
]
,
TradeType.EXACT_INPUT
TradeType.EXACT_INPUT
);

Assert.Equal("17.2", exactIn.PriceImpact.ToSignificant(3));
Assert.Equal("19.8", exactInMultipleRoutes.PriceImpact.ToSignificant(3));

// Test for EXACT_OUTPUT
var exactOut = Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes(

[ new RouteInput<Token, Token>
[
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 156),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 100),
}]
,
TradeType.EXACT_OUTPUT
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 100)
}
]
,
TradeType.EXACT_OUTPUT
);

var exactOutMultipleRoutes = Trade<Token, Token>.CreateUncheckedTradeWithMultipleRoutes(
[ new RouteInput<Token, Token>
[
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_1, pool_1_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 140),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 90),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 90)
},
new RouteInput<Token, Token>
new RouteInput<Token, Token>
{
Route = new Route<Token,Token>(new List<Pool> { pool_0_2 }, token0, token2),
Route = new Route<Token, Token>(new List<Pool> { pool_0_2 }, token0, token2),
InputAmount = CurrencyAmount<Token>.FromRawAmount(token0, 16),
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 10),
}]
,
TradeType.EXACT_OUTPUT
OutputAmount = CurrencyAmount<Token>.FromRawAmount(token2, 10)
}
]
,
TradeType.EXACT_OUTPUT
);

Assert.Equal("23.1", exactOut.PriceImpact.ToSignificant(3));
Expand Down Expand Up @@ -606,9 +616,10 @@ public async Task BestTradeExactIn_ProvidesBestRoute()
[Fact]
public async Task BestTradeExactIn_RespectsMaxHops()
{
var result = await Trade<Token, Token>.BestTradeExactIn([pool_0_1, pool_0_2, pool_1_2], CurrencyAmount<Token>.FromRawAmount(token0, 10), token2, new Trade<Token, Token>.BestTradeOptions() { MaxHops = 1 });
var result = await Trade<Token, Token>.BestTradeExactIn([pool_0_1, pool_0_2, pool_1_2], CurrencyAmount<Token>.FromRawAmount(token0, 10), token2,
new Trade<Token, Token>.BestTradeOptions { MaxHops = 1 });
Assert.Single(result);
Assert.Single( result[0].Swaps[0].Route.Pools);
Assert.Single(result[0].Swaps[0].Route.Pools);
Assert.Equal([token0, token2], result[0].Swaps[0].Route.TokenPath);
}

Expand All @@ -626,7 +637,8 @@ public async Task BestTradeExactIn_InsufficientInputForOnePool()
[Fact]
public async Task BestTradeExactIn_RespectsN()
{
var result = await Trade<Token, Token>.BestTradeExactIn([pool_0_1, pool_0_2, pool_1_2], CurrencyAmount<Token>.FromRawAmount(token0, 10), token2, new Trade<Token, Token>.BestTradeOptions() { MaxHops = 1 });
var result = await Trade<Token, Token>.BestTradeExactIn([pool_0_1, pool_0_2, pool_1_2], CurrencyAmount<Token>.FromRawAmount(token0, 10), token2,
new Trade<Token, Token>.BestTradeOptions { MaxHops = 1 });
Assert.Single(result);
}

Expand Down Expand Up @@ -806,7 +818,8 @@ public async Task BestTradeExactOut_ProvidesBestRoute()
[Fact]
public async Task BestTradeExactOut_RespectsMaxHops()
{
var result = await Trade<Token, Token>.BestTradeExactOut([pool_0_1, pool_0_2, pool_1_2], token0, CurrencyAmount<Token>.FromRawAmount(token2, 10), new Trade<Token, Token>.BestTradeOptions() {MaxHops= 1});
var result = await Trade<Token, Token>.BestTradeExactOut([pool_0_1, pool_0_2, pool_1_2], token0, CurrencyAmount<Token>.FromRawAmount(token2, 10),
new Trade<Token, Token>.BestTradeOptions { MaxHops = 1 });
Assert.Single(result);
Assert.Single(result[0].Swaps[0].Route.Pools);
Assert.Equal([token0, token2], result[0].Swaps[0].Route.TokenPath);
Expand All @@ -815,7 +828,8 @@ public async Task BestTradeExactOut_RespectsMaxHops()
[Fact]
public async Task BestTradeExactOut_RespectsN()
{
var result = await Trade<Token, Token>.BestTradeExactOut([pool_0_1, pool_0_2, pool_1_2], token0, CurrencyAmount<Token>.FromRawAmount(token2, 10), new Trade<Token, Token>.BestTradeOptions() { MaxHops = 1 });
var result = await Trade<Token, Token>.BestTradeExactOut([pool_0_1, pool_0_2, pool_1_2], token0, CurrencyAmount<Token>.FromRawAmount(token2, 10),
new Trade<Token, Token>.BestTradeOptions { MaxHops = 1 });
Assert.Single(result);
}

Expand Down

0 comments on commit 5a873fb

Please sign in to comment.