From 8d0643dbcadde4b72182a1483dc6114ccc960436 Mon Sep 17 00:00:00 2001 From: ejff9 <81577823+ejff9@users.noreply.github.com> Date: Thu, 2 Mar 2023 17:50:34 -0500 Subject: [PATCH 1/3] Eli Test cases Added 4 test cases, including multiple fills test and a duplicate fills test --- .idea/runConfigurations.xml | 10 --- Data-Integration.iml | 26 ++++++++ src/test/testOrderBook.java | 125 +++++++++++++++++++++++++++++++++++- 3 files changed, 149 insertions(+), 12 deletions(-) delete mode 100644 .idea/runConfigurations.xml diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Data-Integration.iml b/Data-Integration.iml index 6f3b297..6593985 100644 --- a/Data-Integration.iml +++ b/Data-Integration.iml @@ -43,5 +43,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/testOrderBook.java b/src/test/testOrderBook.java index 30d1653..c231c1e 100644 --- a/src/test/testOrderBook.java +++ b/src/test/testOrderBook.java @@ -1,9 +1,11 @@ import OrderBook.Order; import OrderBook.OrderBook; import OrderBook.Side; -import org.junit.jupiter.api.Test; +import OrderBook.OrderType; +import OrderBook.Fill; +import org.junit.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class testOrderBook { @@ -168,4 +170,123 @@ void placeTwoAsk() { assertEquals(-1f, testSubject.bestBidPrice); assertEquals(1.8f, testSubject.sittingVolume); } + + @Test + void placeSimpleAsk(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + + Order newAsk = new Order(5.1f, 7.2f, Side.ASK, 2347698784L); + obTest.placeOrder(newAsk); + + assertEquals(1, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(5.1f, obTest.asks.getFirst().price); + assertEquals(7.2f, obTest.asks.getFirst().size); + assertEquals(2347698784L, obTest.asks.getFirst().createdTs); + assertEquals(5.1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); // Should be unaffected + assertEquals(7.2f, obTest.sittingVolume); + } + + @Test + void placeSimpleBid(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + // Operation + Order newBid = new Order(6.3f, 5.8f, Side.BID, 3277777780L); + obTest.placeOrder(newBid); + // Checking Operation + assertEquals(0, obTest.asks.size()); + assertEquals(1, obTest.bids.size()); + assertEquals(6.3f, obTest.bids.getFirst().price); + assertEquals(5.8f, obTest.bids.getFirst().size); + assertEquals(3277777780L, obTest.bids.getFirst().createdTs); + assertEquals(-1f, obTest.bestAskPrice); // Should be unaffected + assertEquals(6.3f, obTest.bestBidPrice); + assertEquals(5.8f, obTest.sittingVolume); + } + + @Test + void multipleOrdersPlusFill(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + + Order newBid1 = new Order("111","bid1", 2.5f, 10.0f, OrderType.MARKET_ORDER, true, + Side.BID, 3277777777L); + obTest.placeOrder(newBid1); + + Order newBid2 = new Order("112","bid2", 7.5f, 90.0f, OrderType.MARKET_ORDER, true, + Side.BID, 3277779955L); + obTest.placeOrder(newBid2); + + Order newAsk1 = new Order("11","ask1", 1.0f, 92.4f, OrderType.MARKET_ORDER, true, + Side.ASK, 2277779955L); + obTest.placeOrder(newAsk1); + + assertEquals(2, obTest.bids.size()); + assertEquals(1, obTest.asks.size()); + assertEquals(90.0f, obTest.bids.getFirst().price); + assertEquals(92.4f, obTest.bestAskPrice); + assertEquals(90.0f, obTest.bestBidPrice); + assertEquals(11.0f, obTest.sittingVolume); + + Fill fill1 = new Fill("1", "him", 7.5f, 90.0f, 0.01f, OrderType.MARKET_ORDER, Side.BID, 3277779955L); + obTest.fillEvent(fill1); + + assertEquals(3.5f, obTest.sittingVolume); + assertEquals(1, obTest.bids.size()); + assertEquals(1, obTest.asks.size()); + + Fill fill2 = new Fill("12", "him2", 2.5f, 10.0f, 0.02f, OrderType.MARKET_ORDER, Side.BID, 3277777777L); + obTest.fillEvent(fill2); + + assertEquals(1.0f, obTest.sittingVolume); + assertEquals(0, obTest.bids.size()); + assertEquals(1, obTest.asks.size()); + } + + @Test + void RedundantFill(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + // Operation + Order newBid1 = new Order(6.3f, 5.8f, Side.BID, 3277777780L); + obTest.placeOrder(newBid1); + + Order newBid2 = new Order("112","bid2", 7.0f, 90.0f, OrderType.MARKET_ORDER, true, + Side.BID, 3277779955L); + obTest.placeOrder(newBid2); + + assertEquals(12.8f, obTest.sittingVolume); + + Fill fill1 = new Fill("1", "him", 5.8f, 6.3f, 0.01f, OrderType.MARKET_ORDER, Side.BID, 3277777780L); + obTest.fillEvent(fill1); + + assertEquals(7.0f, obTest.sittingVolume); + assertEquals(1, obTest.bids.size()); + assertEquals(0, obTest.asks.size()); + + obTest.fillEvent(fill1); + assertEquals(7.0f, obTest.sittingVolume); + assertEquals(1, obTest.bids.size()); + assertEquals(0, obTest.asks.size()); + } + } From 5d4ca162391e03c3340b2d745a95586eb571844c Mon Sep 17 00:00:00 2001 From: ejff9 <81577823+ejff9@users.noreply.github.com> Date: Wed, 8 Mar 2023 12:17:42 -0500 Subject: [PATCH 2/3] Small change changes --- .idea/.name | 1 + .idea/vcs.xml | 2 +- Data-Integration.iml | 2 +- src/test/testOrderBook.java | 3 ++- 4 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 .idea/.name diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..9b04062 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Data-Integration.iml \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..35eb1dd 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/Data-Integration.iml b/Data-Integration.iml index 6593985..2047215 100644 --- a/Data-Integration.iml +++ b/Data-Integration.iml @@ -54,7 +54,7 @@ - + diff --git a/src/test/testOrderBook.java b/src/test/testOrderBook.java index c231c1e..9974fdd 100644 --- a/src/test/testOrderBook.java +++ b/src/test/testOrderBook.java @@ -3,9 +3,10 @@ import OrderBook.Side; import OrderBook.OrderType; import OrderBook.Fill; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; class testOrderBook { From 715b406b0ce0fdbda3dd3f1bd323b06b68f97a26 Mon Sep 17 00:00:00 2001 From: ejff9 <81577823+ejff9@users.noreply.github.com> Date: Wed, 8 Mar 2023 12:23:27 -0500 Subject: [PATCH 3/3] Fixed small errors Fixed some errors --- .../OrderBook/OrderBook.class | Bin 3292 -> 3384 bytes .../Data-Integration/classpath.index | Bin 0 -> 132 bytes out/test/Data-Integration/classpath.index | Bin 0 -> 96 bytes out/test/Data-Integration/testOrderBook.class | Bin 4885 -> 6821 bytes src/test/testOrderBook.java | 119 +++++++++++++++++- 5 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 out/production/Data-Integration/classpath.index create mode 100644 out/test/Data-Integration/classpath.index diff --git a/out/production/Data-Integration/OrderBook/OrderBook.class b/out/production/Data-Integration/OrderBook/OrderBook.class index bac9b96ff668a52d326b51f5f233f39b467a496b..d5d734bbc717a19680795838063952b41d2e1c64 100644 GIT binary patch delta 1143 zcmZ9LT~L%|6vuz>?n^KG@&pLGOMDdxjvp(DAHk%MfEpkwAg(K#2`g9%1wtA~g`%Zt zALuK7pqWrc&7?CZGL9GKRny=_)15Oq(_NQxr!$(_d3JTjX)pfI`<&;T|2gM>&fZPG zmeDu)@AVr%5kJ_>WxYkn#>ILM0XAr8u-Itx0-N;ZZ4H~vU-yFkdPl<+4UHaBXz~zd zs}670&|?pN zgBB+gCpo29%xT3Chn)NFP~I8ES-w@A<2%K9h81O$E9zLH7~y-xDpp_FX%4vie#azE zhAVN_VLw%b9~u_RLQyX#`1U3mG!?EV{|2hgU?;9De3i zt}vaOLxE7tXCVtD*FtKgo-nV=`W8wzMfCE9EYD(&QY<@B${Fz=mRg@x-a$NToKtpo zZjHnm!Z#Qx&=o5%YAKMc)y{4EWuwk{V286SBx|McRYjO|Bgke&JFj+jC*)_WrChAV zVm~I$x#TR7dFA~^iZhY0VtK8|Stsf0$z+|#8q|M$aSufZ{n3D!lqFB4)Ec=l{K8x> r8Z1@8^hOeCB1yXTvQ=i*EVF761-3aCRoY9@uAYV^N!U7Ja1s0u>?_Oz delta 1053 zcmZ{i*H2VY5Qo1lcz2g0tFUg=b!}K#u!}Vo6c8*Zf{Fzcv0*{6BI2SH3s$b6f;~|Z z;|sb`Rp%SIu;)LNO^@au-4NWvV@E259Y^lzw zs@gd|zA~KB=mwS3oH3lG#c+=E78fio8ZL3!(28ww#n48(VJ24%*92y}+^a@hH+0Zx zxWP@sEp8j;lVvDimf;R}4f!m7Qs=(p>K(-`AH0slNU}e9L!qYh@KgG}COJlmI8)j> zm=P(75l9c)rJi76pR^e6aO5fdR(H``jD#Me`=7k_8>A}qG5!bmefD<)3LMo9u15>({nV`i diff --git a/out/production/Data-Integration/classpath.index b/out/production/Data-Integration/classpath.index new file mode 100644 index 0000000000000000000000000000000000000000..1dce18a5e5219f979169679cc6a7ba94d02a5729 GIT binary patch literal 132 zcmb1OU}9ikU<6_qaJM+&V4$K~597=2U-iK6wj;MTOn^w*d#VU4NU7{~WDReBS4%K3 Rc>Dy3*(zl`$d+bc001_*4uAjv literal 0 HcmV?d00001 diff --git a/out/test/Data-Integration/classpath.index b/out/test/Data-Integration/classpath.index new file mode 100644 index 0000000000000000000000000000000000000000..17aa3034f4fdd78b72fe4745cfe6265da4abc3ce GIT binary patch literal 96 ecmb1OU}QiAa{E_3@Vo8Et%xd22G3TBfdK$DFa&l0 literal 0 HcmV?d00001 diff --git a/out/test/Data-Integration/testOrderBook.class b/out/test/Data-Integration/testOrderBook.class index 7d69c528f7dfba8b6cb37b28846b90820a310adf..17e5ae8e185d1433875a06a0f12dddab7a0f823e 100644 GIT binary patch delta 2872 zcmbVOX>b%(5dM1ec6W9%fiMXOC=dmS5Re?mnS|XSi4aJDpgo&0z$wffFcSWAo0Khv`R~Vs8uSZf|QmV+HYod2{DBwRPnZ_U%#*W`?}wQ zCwp$WDRAV%-u(au;)IInSnS5bDjZns;bn=6rC6q7IUbRpkBT=I0@8X+`c_Emak)I< zh9P|2laj=+12SMGo^&!K3eOMRq9OvTB;slbw#LJswQ^Z2m#0(&mSdgpzF50fq}JB1 zwT@l5Zjta#I&)B@n)z1ZX&Y|Xiwf2&ct&`a&;Qng4cI8*H!0Yx;923_Fz)AIV7`Ja z3Z4_*NI;|>J=$b$c>dnAQo-{IUJ%1J$cJP zEW8U{eh|aHFD@3|%}mnEmg!&ii#lC+4|DC_J$CH}r~Xu}V7u_fFuac!GmyQN3SJT3 zU)h_sJLElmS{Z~LBCXM`Z}FjCr-d&bP_R=$o$yYV<}Q)E`M4^)-$=;ON1NQ(?Z&IS zZld)RXfvy{pwORFQZ}p9@2i?ga8=Bh;IFDCG~Y=pDI#J<=r_J}TpcLD3__HN znpROUvtP*4P>%*T8a3>}UN`n>cnz;>*pCJcZ{UFZd{e_)(mIF(gtnoR7KR&#G`x*> zG!)=n4e#Nwh9h`i!%=x;k6fDYK@W-Zp@xs}4k0WdF^M2%Fda8O)^H4;$kU%1Yr?#} z3-FnS&v9IaB``T&nVLhIBtP#cDdV%eChqz!Y?UJiF_^}8LjH;1zswVaLbm$xFY&Ll zcLQiA8x9ol>N1@w{A_Dh0E%%te*t&!VFwD06RyKlWNdP04wX?c2;;TUj#97#CAgDM zjzT$RqLfdR@xH_@=U<@0M!7+GiiB}U>C0HBlq&}0NX;zco3?JFW1DJ5ex%KRD`8cC zDcW5&T6DW6Mq9v0`H@v4qz-0TEJjZ|<=eXBd%c=YR|~$;pUT$dL;Qxe-MQx{?R6q#~ZeF^D2CirOHXB9Tk& z;3pk(DGEy{8tbS%bL+s|u3~N-FUu`XJ{7HvW56QEZ&L!o;RYzrh-sG+7^(NrN9mb$ z=qXIXqZ<%ACazCCqW2+UvYw^)(zErkq3v%=n| z?X(nfHo_&?WS2Dcv6kB!*$#~Xo`(tSG6zHMnc7WcLu$7VgC^^f^vSXWeJH0fOXM1o zhdARpIqQ+4=h~q%2e+t2Iul^9o+l~l`9T2Ym^{Q4*U43nK#FDqgtZEAaWv11Ob}$xAnrkFqI^a%s5P?pv&mg`SKYSff0iM`$5m zUI!}iqy2QQ!27t5eS+^yF&6O^adNuraX(wG7Ej&-dT=agA&-TVFW=X4EQ&+(-+-tV z<1nSwanPsQI)-|du8+9bvkWP@H5n=T6gyNH-6GmYn&Wb*^Xh>7_wzQiXT>vE@mpB& zk*xSARy>mxAI*wq@qNkW`!WtCl!J1*mG8?$7&HmBl#5N2hi#OPMw-gXPh;h$;}{j- sE1F>n+TY?D6qNrP5PTa}NL@NzkMJND>A*w(0AgZD#Q*>R delta 1290 zcmbVKS!|3^6#o91TmRBKhE|YBqd`0rDJE1xrZZHBE~>S4MYn0IC~d99)V_3-`a5N6 z8%t?R1ue=06;Ej6(X$sGka!>w(Q@w0m=q79fAXJu?!D)H-*?WrEwen6T`vY6Jq8em zTN)N1Uq*oj1M*ceg&K-btig#Au`Oj!Y60PuiL-UWD;H+Hj19~_(PCloJtANuD#8d7 zh5d0Y8cf(E5H}03N|m-%!c+^hMT5(Ut<2WuZDv-lw>gkDFkv6FWqx_atbV?Y*cOC~ zZ&R>c!476~?|h?TCu#)zE(N<4>|r)v`iEbExe8ngYME^Wz^uK!ef|se$HPVidll?s z@jh|UX^FEi`x2*9#(o6{6dYvpCcf4*%)ucc`fyNC)H@dc*69=_9FcKU#<9+O(gjI> zX`En8z(W0#ajdHjZW+fp>TyEGNsb1b;?UvdXoN>>n>bDj?+iQ=%xRTH#g+3bD#~O1 zo(wNXGtP1(;2g(!T;R9}AIBw;QZLM9ToEu=Ia+X5f^o)7iv(6sRy0G#HLl`1T19r7 zev;Wt325iIftws1@O6G;O@=%Pa!GM@N`6%}qA{O_Ek2cgssIua$%~~`qBSh$0i-+R z7~mi~%zvn15&1k2fW=6n9gs}P1|;gyqZaE^m0HQ6cPPnoMPxLLWV?fr3T`6>sg#{W z4`d0_C~GO*3+!}Sfs8>&yVMLx)?ca92(Moq8s4%&c)glXmKvVy7>csx0VF_bMK~!2 zzU!AvtMu9Ym^58~%EuG-8=jLTu&sgnP}QGsgq(ulm8f;{BwE(0`pIGc_GZNk@g;# rx-hyMTEw_1U10ZN*R#!0x?73Rvm%ERUuoq3@U8xfPr@2fYrxu{ewOEV diff --git a/src/test/testOrderBook.java b/src/test/testOrderBook.java index f63556e..4be4672 100644 --- a/src/test/testOrderBook.java +++ b/src/test/testOrderBook.java @@ -110,7 +110,7 @@ void placeMultipleOrders() { assertEquals(2, testSubject.bids.size()); assertEquals(2, testSubject.asks.size()); assertEquals(0.3f, testSubject.bids.getFirst().price); - assertEquals(0.4f, testSubject.bestAskPrice); + assertEquals(0.35f, testSubject.bestAskPrice); assertEquals(0.3f, testSubject.bestBidPrice); assertEquals(12.9f, testSubject.sittingVolume); } @@ -235,4 +235,121 @@ void placeTwoAsk() { assertEquals(-1f, testSubject.bestBidPrice); assertEquals(1.8f, testSubject.sittingVolume); } + @Test + void placeSimpleAsk(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + + Order newAsk = new Order(5.1f, 7.2f, Side.ASK, 2347698784L); + obTest.placeOrder(newAsk); + + assertEquals(1, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(5.1f, obTest.asks.getFirst().price); + assertEquals(7.2f, obTest.asks.getFirst().size); + assertEquals(2347698784L, obTest.asks.getFirst().createdTs); + assertEquals(5.1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); // Should be unaffected + assertEquals(7.2f, obTest.sittingVolume); + } + + @Test + void placeSimpleBid(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + // Operation + Order newBid = new Order(6.3f, 5.8f, Side.BID, 3277777780L); + obTest.placeOrder(newBid); + // Checking Operation + assertEquals(0, obTest.asks.size()); + assertEquals(1, obTest.bids.size()); + assertEquals(6.3f, obTest.bids.getFirst().price); + assertEquals(5.8f, obTest.bids.getFirst().size); + assertEquals(3277777780L, obTest.bids.getFirst().createdTs); + assertEquals(-1f, obTest.bestAskPrice); // Should be unaffected + assertEquals(6.3f, obTest.bestBidPrice); + assertEquals(5.8f, obTest.sittingVolume); + } + + @Test + void multipleOrdersPlusFill(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + + Order newBid1 = new Order("111","bid1", 2.5f, 10.0f, OrderType.MARKET_ORDER, true, + Side.BID, 3277777777L); + obTest.placeOrder(newBid1); + + Order newBid2 = new Order("112","bid2", 7.5f, 90.0f, OrderType.MARKET_ORDER, true, + Side.BID, 3277779955L); + obTest.placeOrder(newBid2); + + Order newAsk1 = new Order("11","ask1", 1.0f, 92.4f, OrderType.MARKET_ORDER, true, + Side.ASK, 2277779955L); + obTest.placeOrder(newAsk1); + + assertEquals(2, obTest.bids.size()); + assertEquals(1, obTest.asks.size()); + assertEquals(90.0f, obTest.bids.getFirst().price); + assertEquals(92.4f, obTest.bestAskPrice); + assertEquals(90.0f, obTest.bestBidPrice); + assertEquals(11.0f, obTest.sittingVolume); + + Fill fill1 = new Fill("1", "him", 7.5f, 90.0f, 0.01f, OrderType.MARKET_ORDER, Side.BID, 3277779955L); + obTest.fillEvent(fill1); + + assertEquals(3.5f, obTest.sittingVolume); + assertEquals(1, obTest.bids.size()); + assertEquals(1, obTest.asks.size()); + + Fill fill2 = new Fill("12", "him2", 2.5f, 10.0f, 0.02f, OrderType.MARKET_ORDER, Side.BID, 3277777777L); + obTest.fillEvent(fill2); + + assertEquals(1.0f, obTest.sittingVolume); + assertEquals(0, obTest.bids.size()); + assertEquals(1, obTest.asks.size()); + } + + @Test + void RedundantFill(){ + OrderBook obTest = new OrderBook(); + assertEquals(0, obTest.asks.size()); + assertEquals(0, obTest.bids.size()); + assertEquals(-1f, obTest.bestAskPrice); + assertEquals(-1f, obTest.bestBidPrice); + assertEquals(0f, obTest.sittingVolume); + // Operation + Order newBid1 = new Order(6.3f, 5.8f, Side.BID, 3277777780L); + obTest.placeOrder(newBid1); + + Order newBid2 = new Order("112","bid2", 7.0f, 90.0f, OrderType.MARKET_ORDER, true, + Side.BID, 3277779955L); + obTest.placeOrder(newBid2); + + assertEquals(12.8f, obTest.sittingVolume); + + Fill fill1 = new Fill("1", "him", 5.8f, 6.3f, 0.01f, OrderType.MARKET_ORDER, Side.BID, 3277777780L); + obTest.fillEvent(fill1); + + assertEquals(7.0f, obTest.sittingVolume); + assertEquals(1, obTest.bids.size()); + assertEquals(0, obTest.asks.size()); + + obTest.fillEvent(fill1); + assertEquals(7.0f, obTest.sittingVolume); + assertEquals(1, obTest.bids.size()); + assertEquals(0, obTest.asks.size()); + } }