()
| 10 | public class TestCreate |
| 11 | { |
| 12 | [Fact(DisplayName = "Create & access")] |
| 13 | public void CreateAndAccess() |
| 14 | { |
| 15 | // Create a new account using FBE model into the FBE stream |
| 16 | var writer = new AccountModel(); |
| 17 | Assert.True(writer.model.FBEOffset == 4); |
| 18 | long modelBegin = writer.CreateBegin(); |
| 19 | long accountBegin = writer.model.SetBegin(); |
| 20 | writer.model.id.Set(1); |
| 21 | writer.model.name.Set("Test"); |
| 22 | writer.model.state.Set(State.good); |
| 23 | long walletBegin = writer.model.wallet.SetBegin(); |
| 24 | writer.model.wallet.currency.Set("USD"); |
| 25 | writer.model.wallet.amount.Set(1000.0); |
| 26 | writer.model.wallet.SetEnd(walletBegin); |
| 27 | long assetBegin = writer.model.asset.SetBegin(true); |
| 28 | long assetWalletBegin = writer.model.asset.Value.SetBegin(); |
| 29 | writer.model.asset.Value.currency.Set("EUR"); |
| 30 | writer.model.asset.Value.amount.Set(100.0); |
| 31 | writer.model.asset.SetEnd(assetBegin); |
| 32 | writer.model.asset.Value.SetEnd(assetWalletBegin); |
| 33 | var order = writer.model.orders.Resize(3); |
| 34 | long orderBegin = order.SetBegin(); |
| 35 | order.id.Set(1); |
| 36 | order.symbol.Set("EURUSD"); |
| 37 | order.side.Set(OrderSide.buy); |
| 38 | order.type.Set(OrderType.market); |
| 39 | order.price.Set(1.23456); |
| 40 | order.volume.Set(1000.0); |
| 41 | order.SetEnd(orderBegin); |
| 42 | order.FBEShift(order.FBESize); |
| 43 | orderBegin = order.SetBegin(); |
| 44 | order.id.Set(2); |
| 45 | order.symbol.Set("EURUSD"); |
| 46 | order.side.Set(OrderSide.sell); |
| 47 | order.type.Set(OrderType.limit); |
| 48 | order.price.Set(1.0); |
| 49 | order.volume.Set(100.0); |
| 50 | order.SetEnd(orderBegin); |
| 51 | order.FBEShift(order.FBESize); |
| 52 | orderBegin = order.SetBegin(); |
| 53 | order.id.Set(3); |
| 54 | order.symbol.Set("EURUSD"); |
| 55 | order.side.Set(OrderSide.buy); |
| 56 | order.type.Set(OrderType.stop); |
| 57 | order.price.Set(1.5); |
| 58 | order.volume.Set(10.0); |
| 59 | order.SetEnd(orderBegin); |
| 60 | order.FBEShift(order.FBESize); |
| 61 | writer.model.SetEnd(accountBegin); |
| 62 | long serialized = writer.CreateEnd(modelBegin); |
| 63 | Assert.True(serialized == writer.Buffer.Size); |
| 64 | Assert.True(writer.Verify()); |
| 65 | writer.Next(serialized); |
| 66 | Assert.True(writer.model.FBEOffset == (4 + writer.Buffer.Size)); |
| 67 | |
| 68 | // Check the serialized FBE size |
| 69 | Assert.True(writer.Buffer.Size == 252); |
nothing calls this directly
no test coverage detected