1
|
|
|
<?php |
2
|
|
|
namespace Carpenstar\ByBitAPI\Spot\MarketData\OrderBook\Tests; |
3
|
|
|
|
4
|
|
|
use Carpenstar\ByBitAPI\Core\Response\CurlResponseHandler; |
5
|
|
|
use Carpenstar\ByBitAPI\Spot\MarketData\OrderBook\Response\OrderBookResponse; |
6
|
|
|
use PHPUnit\Framework\TestCase; |
7
|
|
|
|
8
|
|
|
class OrderBookTest extends TestCase |
9
|
|
|
{ |
10
|
|
|
/** |
11
|
|
|
* Тестирование сборки объекта ответа |
12
|
|
|
* |
13
|
|
|
* @return void |
14
|
|
|
*/ |
15
|
|
|
public function testBuildResponseData() |
16
|
|
|
{ |
17
|
|
|
$json = '{"retCode":0,"retMsg":"OK","result":{"asks":[["26847.07","0.026755"],["26847.09","0.018993"],["26847.11","0.023623"],["26847.13","0.054235"],["26847.15","0.02979"]],"bids":[["26844.02","0.017595"],["26844","0.020731"],["26843.98","0.039244"],["26843.96","0.035931"],["26843.94","0.053928"]],"time":1683984334496},"retExtInfo":{},"time":1683984334496}'; |
18
|
|
|
$data = (new CurlResponseHandler())->build(json_decode($json, true), OrderBookResponse::class); |
19
|
|
|
|
20
|
|
|
$this->assertEquals(0, $data->getReturnCode()); |
21
|
|
|
$this->assertEquals('OK', $data->getReturnMessage()); |
22
|
|
|
$this->assertInstanceOf(OrderBookResponse::class, $data->getResult()); |
23
|
|
|
|
24
|
|
|
/** @var OrderBookResponse $orderbookInfo */ |
25
|
|
|
$orderbookInfo = $data->getResult(); |
26
|
|
|
|
27
|
|
|
$this->assertInstanceOf(\DateTime::class, $orderbookInfo->getTime()); |
28
|
|
|
|
29
|
|
|
$ask = current($orderbookInfo->getAsks()->all()); |
30
|
|
|
$this->assertEquals(26847.07, $ask->getPrice()); |
31
|
|
|
$this->assertEquals(0.026755, $ask->getQuantity()); |
32
|
|
|
|
33
|
|
|
$bid = current($orderbookInfo->getBids()->all()); |
34
|
|
|
$this->assertEquals(26844.02, $bid->getPrice()); |
35
|
|
|
$this->assertEquals(0.017595, $bid->getQuantity()); |
36
|
|
|
} |
37
|
|
|
} |