Skip to content

Commit

Permalink
Extract type to models
Browse files Browse the repository at this point in the history
  • Loading branch information
tolyo committed Dec 8, 2023
1 parent b6ff596 commit c0cc0ee
Show file tree
Hide file tree
Showing 12 changed files with 180 additions and 195 deletions.
2 changes: 1 addition & 1 deletion pkg/models/price_level.go → pkg/models/order_book.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package models

type PriceLevel struct {
type PriceVolume struct {
Price float64
Volume float64
}
14 changes: 0 additions & 14 deletions pkg/models/trade.go

This file was deleted.

8 changes: 5 additions & 3 deletions pkg/services/cancel_trade_order_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package services

import "open-outcry/pkg/models"
import (
"open-outcry/pkg/models"
)

type TestData struct {
side models.OrderSide
Expand Down Expand Up @@ -43,7 +45,7 @@ func (assert *ServiceTestSuite) TestCancelTradeOrder() {
assert.Nil(err)
assert.Equal(1, GetBookOrderCount(data.side))
assert.Equal(
[]PriceVolume{{Price: data.price, Volume: data.amount}},
[]models.PriceVolume{{Price: data.price, Volume: data.amount}},
GetVolumes("BTC_EUR", data.side),
)

Expand All @@ -59,7 +61,7 @@ func (assert *ServiceTestSuite) TestCancelTradeOrder() {

// then: it is removed from the order book
assert.Equal(0, GetBookOrderCount(data.side))
assert.Equal([]PriceVolume{}, GetVolumes("BTC_EUR", data.side))
assert.Equal([]models.PriceVolume{}, GetVolumes("BTC_EUR", data.side))

// and: its status is cancelled
res = models.GetTradeOrder(tradeOrder)
Expand Down
28 changes: 14 additions & 14 deletions pkg/services/get_available_volume_function_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ var volumeCases = []MatchingServiceTestCase{
{steps: []TestStep{
{
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
},
}},
Expand All @@ -21,12 +21,12 @@ var volumeCases = []MatchingServiceTestCase{
{Side: models.Sell, Type: models.Limit, Price: 10, Amount: 100, TimeInForce: models.GTC},
},
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 100.0},
{Price: 11.00, Volume: 100.0},
{Price: 9.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 0.0},
Expand All @@ -39,12 +39,12 @@ var volumeCases = []MatchingServiceTestCase{
{Side: models.Sell, Type: models.Limit, Price: 10, Amount: 100, TimeInForce: models.GTC},
},
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 200.0},
{Price: 11.00, Volume: 200.0},
{Price: 9.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 0.0},
Expand All @@ -57,13 +57,13 @@ var volumeCases = []MatchingServiceTestCase{
{Side: models.Sell, Type: models.Limit, Price: 9, Amount: 100, TimeInForce: models.GTC},
},
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 300.0},
{Price: 11.00, Volume: 300.0},
{Price: 9.00, Volume: 100.0},
{Price: 8.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 0.0},
Expand All @@ -79,12 +79,12 @@ var volumeCases = []MatchingServiceTestCase{
{Side: models.Buy, Type: models.Limit, Price: 10, Amount: 10, TimeInForce: models.GTC},
},
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 10.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 10.0},
Expand All @@ -97,12 +97,12 @@ var volumeCases = []MatchingServiceTestCase{
{Side: models.Buy, Type: models.Limit, Price: 10, Amount: 10, TimeInForce: models.GTC},
},
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 20.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 20.0},
Expand All @@ -115,12 +115,12 @@ var volumeCases = []MatchingServiceTestCase{
{Side: models.Buy, Type: models.Limit, Price: 9, Amount: 10, TimeInForce: models.GTC},
},
expectedState: AppState{orderBookStates: OrderBook{
sellSide: []models.PriceLevel{
sellSide: []models.PriceVolume{
{Price: 10.00, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
{Price: 9.00, Volume: 0.0},
},
buySide: []models.PriceLevel{
buySide: []models.PriceVolume{
{Price: 10.00, Volume: 20.0},
{Price: 10.001, Volume: 0.0},
{Price: 11.00, Volume: 0.0},
Expand Down
4 changes: 2 additions & 2 deletions pkg/services/matching_service_balance_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,10 @@ func RunTestCases(assert *ServiceTestSuite, cases []MatchingServiceTestCase) {
}

if fieldExists(expectedState, "orderBookStates") {
utils.Each(expectedState.orderBookStates.buySide, func(level models.PriceLevel) {
utils.Each(expectedState.orderBookStates.buySide, func(level models.PriceVolume) {
assert.Equal(level.Volume, GetAvailableLimitVolume(models.Buy, models.OrderPrice(level.Price)))
})
utils.Each(expectedState.orderBookStates.sellSide, func(level models.PriceLevel) {
utils.Each(expectedState.orderBookStates.sellSide, func(level models.PriceVolume) {
assert.Equal(level.Volume, GetAvailableLimitVolume(models.Sell, models.OrderPrice(level.Price)))
})
}
Expand Down
Loading

0 comments on commit c0cc0ee

Please sign in to comment.