Archived
0

- extract abstract classes

- move simple implementation to ru.trader.store.simple package
This commit is contained in:
iMoHax
2014-09-30 15:29:04 +04:00
parent 402351da6f
commit 1e1e41595d
28 changed files with 658 additions and 471 deletions

View File

@@ -1,49 +0,0 @@
package ru.trader.core;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ItemStatTest extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(ItemStatTest.class);
private final static Item ITEM1 = new Item("Item1");
private ItemStat itemSellStat = new ItemStat(ITEM1, OFFER_TYPE.SELL);
private ItemStat itemBuyStat = new ItemStat(ITEM1, OFFER_TYPE.BUY);
@Before
public void fill(){
itemSellStat.put(new Offer(OFFER_TYPE.SELL, ITEM1, 10));
itemSellStat.put(new Offer(OFFER_TYPE.SELL, ITEM1, 20));
itemSellStat.put(new Offer(OFFER_TYPE.SELL, ITEM1, 30));
itemSellStat.put(new Offer(OFFER_TYPE.SELL, ITEM1, 40));
itemBuyStat.put(new Offer(OFFER_TYPE.BUY, ITEM1, 100));
itemBuyStat.put(new Offer(OFFER_TYPE.BUY, ITEM1, 200));
itemBuyStat.put(new Offer(OFFER_TYPE.BUY, ITEM1, 300));
itemBuyStat.put(new Offer(OFFER_TYPE.BUY, ITEM1, 400));
}
@Test
public void testSell(){
LOG.info("Start sell test");
assertEquals(itemSellStat.getAvg(), (10+20+30+40)/4, 0);
assertEquals(itemSellStat.getBest().getPrice(), 10d, 0);
}
@Test
public void testBuy(){
LOG.info("Start buy test");
assertEquals(itemBuyStat.getAvg(), (100+200+300+400)/4, 0);
assertEquals(itemBuyStat.getBest().getPrice(), 400d, 0);
}
}

View File

@@ -8,6 +8,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.TestUtil;
import ru.trader.graph.Path;
import ru.trader.store.simple.SimpleItem;
import ru.trader.store.simple.SimpleMarket;
import ru.trader.store.simple.SimpleOffer;
import ru.trader.store.simple.SimpleVendor;
import java.util.Collection;
@@ -26,9 +30,9 @@ public class MarketAnalyzerTest extends Assert {
private static Vendor v9;
private static Vendor v10;
private static Vendor v11;
private static Item ITEM1 = new Item("ITEM1");
private static Item ITEM2 = new Item("ITEM2");
private static Item ITEM3 = new Item("ITEM3");
private static Item ITEM1 = new SimpleItem("ITEM1");
private static Item ITEM2 = new SimpleItem("ITEM2");
private static Item ITEM3 = new SimpleItem("ITEM3");
@Before
public void setUp() throws Exception {
@@ -69,19 +73,19 @@ public class MarketAnalyzerTest extends Assert {
market.add(v10);
market.add(v11);
market.add(v6, new Offer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v7, new Offer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v9, new Offer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v10, new Offer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v6, new Offer(OFFER_TYPE.BUY, ITEM1, 50));
market.add(v7, new Offer(OFFER_TYPE.BUY, ITEM1, 120));
market.add(v9, new Offer(OFFER_TYPE.BUY, ITEM1, 200));
market.add(v10, new Offer(OFFER_TYPE.BUY, ITEM1, 150));
market.add(v9, new Offer(OFFER_TYPE.SELL, ITEM2, 100));
market.add(v6, new Offer(OFFER_TYPE.BUY, ITEM2, 140));
market.add(v7, new Offer(OFFER_TYPE.SELL, ITEM3, 154));
market.add(v10, new Offer(OFFER_TYPE.BUY, ITEM3, 140));
market.add(v11, new Offer(OFFER_TYPE.BUY, ITEM3, 500));
market.add(v6, new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v7, new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v9, new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v10, new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
market.add(v6, new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 50));
market.add(v7, new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 120));
market.add(v9, new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 200));
market.add(v10, new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 150));
market.add(v9, new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 100));
market.add(v6, new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 140));
market.add(v7, new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 154));
market.add(v10, new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 140));
market.add(v11, new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 500));
}

View File

@@ -5,7 +5,7 @@ import org.junit.Before;
import org.junit.Test;
import ru.trader.TestUtil;
import ru.trader.graph.PathRoute;
import ru.trader.store.Store;
import ru.trader.store.simple.Store;
import java.io.InputStream;
import java.util.Collection;
import java.util.Optional;

View File

@@ -5,22 +5,26 @@ import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.store.simple.SimpleItem;
import ru.trader.store.simple.SimpleMarket;
import ru.trader.store.simple.SimpleOffer;
import ru.trader.store.simple.SimpleVendor;
public class MarketTest1 extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(MarketTest1.class);
private final static Item ITEM1 = new Item("Item1");
private final static Item ITEM2 = new Item("Item2");
private final static Item ITEM3 = new Item("Item3");
private final static Item ITEM1 = new SimpleItem("Item1");
private final static Item ITEM2 = new SimpleItem("Item2");
private final static Item ITEM3 = new SimpleItem("Item3");
private final static Offer bestSellOffer1 = new Offer(OFFER_TYPE.SELL,ITEM1,10);
private final static Offer bestSellOffer2 = new Offer(OFFER_TYPE.SELL,ITEM2,15);
private final static Offer bestSellOffer3 = new Offer(OFFER_TYPE.SELL,ITEM3,20);
private final static Offer bestSellOffer1 = new SimpleOffer(OFFER_TYPE.SELL,ITEM1,10);
private final static Offer bestSellOffer2 = new SimpleOffer(OFFER_TYPE.SELL,ITEM2,15);
private final static Offer bestSellOffer3 = new SimpleOffer(OFFER_TYPE.SELL,ITEM3,20);
private final static Offer bestBuyOffer1 = new Offer(OFFER_TYPE.BUY,ITEM1,100);
private final static Offer bestBuyOffer2 = new Offer(OFFER_TYPE.BUY,ITEM2,200);
private final static Offer bestBuyOffer3 = new Offer(OFFER_TYPE.BUY,ITEM3,100);
private final static Offer bestBuyOffer4 = new Offer(OFFER_TYPE.BUY,ITEM2,150);
private final static Offer bestBuyOffer1 = new SimpleOffer(OFFER_TYPE.BUY,ITEM1,100);
private final static Offer bestBuyOffer2 = new SimpleOffer(OFFER_TYPE.BUY,ITEM2,200);
private final static Offer bestBuyOffer3 = new SimpleOffer(OFFER_TYPE.BUY,ITEM3,100);
private final static Offer bestBuyOffer4 = new SimpleOffer(OFFER_TYPE.BUY,ITEM2,150);
private final static Vendor sellVendor1 = new SimpleVendor();
@@ -37,22 +41,22 @@ public class MarketTest1 extends Assert {
@Before
public void fillMarket(){
sellVendor1.add(bestSellOffer1);
sellVendor1.add(new Offer(OFFER_TYPE.SELL,ITEM2,100));
sellVendor2.add(new Offer(OFFER_TYPE.SELL,ITEM3,200));
sellVendor1.add(new SimpleOffer(OFFER_TYPE.SELL,ITEM2,100));
sellVendor2.add(new SimpleOffer(OFFER_TYPE.SELL,ITEM3,200));
sellVendor2.add(bestSellOffer2);
sellVendor3.add(new Offer(OFFER_TYPE.SELL,ITEM1,300));
sellVendor3.add(new Offer(OFFER_TYPE.SELL,ITEM2,300));
sellVendor3.add(new SimpleOffer(OFFER_TYPE.SELL,ITEM1,300));
sellVendor3.add(new SimpleOffer(OFFER_TYPE.SELL,ITEM2,300));
sellVendor3.add(bestSellOffer3);
sellVendor4.add(new Offer(OFFER_TYPE.SELL,ITEM2,150));
sellVendor4.add(new SimpleOffer(OFFER_TYPE.SELL,ITEM2,150));
buyVendor1.add(new Offer(OFFER_TYPE.BUY,ITEM2,50));
buyVendor1.add(new SimpleOffer(OFFER_TYPE.BUY,ITEM2,50));
buyVendor1.add(bestBuyOffer1);
buyVendor2.add(new Offer(OFFER_TYPE.BUY,ITEM1,40));
buyVendor2.add(new SimpleOffer(OFFER_TYPE.BUY,ITEM1,40));
buyVendor2.add(bestBuyOffer2);
buyVendor2.add(new Offer(OFFER_TYPE.BUY,ITEM3,50));
buyVendor2.add(new SimpleOffer(OFFER_TYPE.BUY,ITEM3,50));
buyVendor3.add(bestBuyOffer3);
buyVendor3.add(new Offer(OFFER_TYPE.BUY,ITEM2,20));
buyVendor4.add(new Offer(OFFER_TYPE.BUY,ITEM1,80));
buyVendor3.add(new SimpleOffer(OFFER_TYPE.BUY,ITEM2,20));
buyVendor4.add(new SimpleOffer(OFFER_TYPE.BUY,ITEM1,80));
buyVendor4.add(bestBuyOffer4);
market = new SimpleMarket();

View File

@@ -5,15 +5,18 @@ import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.store.simple.SimpleItem;
import ru.trader.store.simple.SimpleOffer;
import ru.trader.store.simple.SimpleVendor;
public class VendorTest extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(VendorTest.class);
private final static Item ITEM1 = new Item("Item1");
private final static Item ITEM2 = new Item("Item2");
private final static Offer SELL_OFFER = new Offer(OFFER_TYPE.SELL, ITEM1, 10);
private final static Offer BUY_OFFER = new Offer(OFFER_TYPE.BUY, ITEM1, 10);
private final static Item ITEM1 = new SimpleItem("Item1");
private final static Item ITEM2 = new SimpleItem("Item2");
private final static Offer SELL_OFFER = new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 10);
private final static Offer BUY_OFFER = new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 10);
private Vendor sellVendor;
private Vendor buyVendor;

View File

@@ -6,24 +6,27 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.TestUtil;
import ru.trader.store.simple.SimpleItem;
import ru.trader.store.simple.SimpleOffer;
import ru.trader.store.simple.SimpleVendor;
import java.util.Collection;
public class VendorTest2 extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(VendorTest2.class);
private final static Item ITEM1 = new Item("Item1");
private final static Item ITEM2 = new Item("Item2");
private final static Item ITEM3 = new Item("Item3");
private final static Offer SELL_OFFER1 = new Offer(OFFER_TYPE.SELL, ITEM1, 10);
private final static Offer SELL_OFFER2 = new Offer(OFFER_TYPE.SELL, ITEM2, 10);
private final static Offer SELL_OFFER3 = new Offer(OFFER_TYPE.SELL, ITEM3, 10);
private final static Offer DUBLE_SELL_OFFER1 = new Offer(OFFER_TYPE.SELL, ITEM1, 100);
private final static Item ITEM1 = new SimpleItem("Item1");
private final static Item ITEM2 = new SimpleItem("Item2");
private final static Item ITEM3 = new SimpleItem("Item3");
private final static Offer SELL_OFFER1 = new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 10);
private final static Offer SELL_OFFER2 = new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 10);
private final static Offer SELL_OFFER3 = new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 10);
private final static Offer DUBLE_SELL_OFFER1 = new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100);
private final static Offer BUY_OFFER1 = new Offer(OFFER_TYPE.BUY, ITEM1, 100);
private final static Offer BUY_OFFER2 = new Offer(OFFER_TYPE.BUY, ITEM2, 10);
private final static Offer BUY_OFFER3 = new Offer(OFFER_TYPE.BUY, ITEM3, 10);
private final static Offer DUBLE_BUY_OFFER1 = new Offer(OFFER_TYPE.BUY, ITEM1, 10);
private final static Offer BUY_OFFER1 = new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 100);
private final static Offer BUY_OFFER2 = new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 10);
private final static Offer BUY_OFFER3 = new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 10);
private final static Offer DUBLE_BUY_OFFER1 = new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 10);
private Vendor sellVendor;

View File

@@ -6,15 +6,18 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.TestUtil;
import ru.trader.core.*;
import ru.trader.store.simple.SimpleItem;
import ru.trader.store.simple.SimpleOffer;
import ru.trader.store.simple.SimpleVendor;
import java.util.Collection;
public class PathRouteTest extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(PathRouteTest.class);
private final static Item ITEM1 = new Item("ITEM1");
private final static Item ITEM2 = new Item("ITEM2");
private final static Item ITEM3 = new Item("ITEM3");
private final static Item ITEM1 = new SimpleItem("ITEM1");
private final static Item ITEM2 = new SimpleItem("ITEM2");
private final static Item ITEM3 = new SimpleItem("ITEM3");
private static Vendor v1;
private static Vendor v2;
private static Vendor v3;
@@ -26,12 +29,12 @@ public class PathRouteTest extends Assert {
v1 = new SimpleVendor("v1");
v2 = new SimpleVendor("v2");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM1, 300));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM2, 350));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM3, 400));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 300));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 350));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 400));
PathRoute res = new PathRoute(new Vertex<>(v1));
res = (PathRoute) res.connectTo(new Vertex<>(v2), false);
@@ -67,12 +70,12 @@ public class PathRouteTest extends Assert {
v2 = new SimpleVendor("v2");
v3 = new SimpleVendor("v3");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM1, 300));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM2, 350));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM3, 400));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 300));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 350));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 400));
PathRoute res = new PathRoute(new Vertex<>(v1));
res = (PathRoute) res.connectTo(new Vertex<>(v2), false);
@@ -115,16 +118,16 @@ public class PathRouteTest extends Assert {
v3 = new SimpleVendor("v3");
v4 = new SimpleVendor("v4");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM3, 320));
v3.add(new Offer(OFFER_TYPE.SELL, ITEM3, 390));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 320));
v3.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 390));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM2, 225));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new Offer(OFFER_TYPE.BUY, ITEM3, 450));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 225));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 450));
PathRoute res = new PathRoute(new Vertex<>(v1));
res = (PathRoute) res.connectTo(new Vertex<>(v2), false);
@@ -179,16 +182,16 @@ public class PathRouteTest extends Assert {
v4 = new SimpleVendor("v4");
v5 = new SimpleVendor("v5");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 410));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM2, 270));
v4.add(new Offer(OFFER_TYPE.SELL, ITEM1, 300));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 410));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 270));
v4.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 300));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM1, 470));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM2, 300));
v4.add(new Offer(OFFER_TYPE.BUY, ITEM3, 370));
v5.add(new Offer(OFFER_TYPE.BUY, ITEM1, 400));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 470));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 300));
v4.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 370));
v5.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 400));
PathRoute res = new PathRoute(new Vertex<>(v1));
res = (PathRoute) res.connectTo(new Vertex<>(v2), false);
@@ -251,16 +254,16 @@ public class PathRouteTest extends Assert {
v3 = new SimpleVendor("v3");
v4 = new SimpleVendor("v4");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM3, 320));
v3.add(new Offer(OFFER_TYPE.SELL, ITEM3, 390));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 320));
v3.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 390));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM2, 225));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new Offer(OFFER_TYPE.BUY, ITEM3, 450));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 225));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 450));
PathRoute res = new PathRoute(new Vertex<>(v1));
res = (PathRoute) res.connectTo(new Vertex<>(v2), false);
@@ -314,13 +317,13 @@ public class PathRouteTest extends Assert {
v1 = new SimpleVendor("v1");
v2 = new SimpleVendor("v2");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM3, 320));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 320));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM2, 225));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 225));
PathRoute res = new PathRoute(new Vertex<>(v1));
res = (PathRoute) res.connectTo(new Vertex<>(v2), false);
@@ -334,10 +337,10 @@ public class PathRouteTest extends Assert {
v3 = new SimpleVendor("v3");
v4 = new SimpleVendor("v4");
v3.add(new Offer(OFFER_TYPE.SELL, ITEM3, 390));
v3.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 390));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new Offer(OFFER_TYPE.BUY, ITEM3, 450));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 450));
PathRoute res = new PathRoute(new Vertex<>(v2));
res = (PathRoute) res.connectTo(new Vertex<>(v3), false);

View File

@@ -5,15 +5,19 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.core.*;
import ru.trader.store.simple.SimpleItem;
import ru.trader.store.simple.SimpleMarket;
import ru.trader.store.simple.SimpleOffer;
import ru.trader.store.simple.SimpleVendor;
import java.util.ArrayList;
public class RouteGraphTest extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(RouteGraphTest.class);
private final static Market market = new SimpleMarket();
private final static Item ITEM1 = new Item("ITEM1");
private final static Item ITEM2 = new Item("ITEM2");
private final static Item ITEM3 = new Item("ITEM3");
private final static Item ITEM1 = new SimpleItem("ITEM1");
private final static Item ITEM2 = new SimpleItem("ITEM2");
private final static Item ITEM3 = new SimpleItem("ITEM3");
private static Vendor v1;
private static Vendor v2;
private static Vendor v3;
@@ -25,16 +29,16 @@ public class RouteGraphTest extends Assert {
v3 = new SimpleVendor("v3");
v4 = new SimpleVendor("v4");
v1.add(new Offer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new Offer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new Offer(OFFER_TYPE.SELL, ITEM3, 320));
v3.add(new Offer(OFFER_TYPE.SELL, ITEM3, 390));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 100));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM2, 200));
v1.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 300));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 150));
v2.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 320));
v3.add(new SimpleOffer(OFFER_TYPE.SELL, ITEM3, 390));
v2.add(new Offer(OFFER_TYPE.BUY, ITEM2, 225));
v3.add(new Offer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new Offer(OFFER_TYPE.BUY, ITEM3, 450));
v2.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM2, 225));
v3.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 200));
v4.add(new SimpleOffer(OFFER_TYPE.BUY, ITEM3, 450));
market.add(v1);market.add(v2);market.add(v3);market.add(v4);
}

View File

@@ -5,7 +5,7 @@ import org.junit.Before;
import org.junit.Test;
import ru.trader.core.Market;
import ru.trader.core.Vendor;
import ru.trader.store.Store;
import ru.trader.store.simple.Store;
import java.io.InputStream;
import java.util.List;

View File

@@ -6,6 +6,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
import ru.trader.core.Market;
import ru.trader.store.simple.Store;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;

View File

@@ -0,0 +1,51 @@
package ru.trader.store.simple;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.core.Item;
import ru.trader.core.OFFER_TYPE;
public class ItemStatTest extends Assert {
private final static Logger LOG = LoggerFactory.getLogger(ItemStatTest.class);
private final static Item ITEM1 = new SimpleItem("Item1");
private SimpleItemStat itemSellStat = new SimpleItemStat(ITEM1, OFFER_TYPE.SELL);
private SimpleItemStat itemBuyStat = new SimpleItemStat(ITEM1, OFFER_TYPE.BUY);
@Before
public void fill(){
itemSellStat.put(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 10));
itemSellStat.put(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 20));
itemSellStat.put(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 30));
itemSellStat.put(new SimpleOffer(OFFER_TYPE.SELL, ITEM1, 40));
itemBuyStat.put(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 100));
itemBuyStat.put(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 200));
itemBuyStat.put(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 300));
itemBuyStat.put(new SimpleOffer(OFFER_TYPE.BUY, ITEM1, 400));
}
@Test
public void testSell(){
LOG.info("Start sell test");
assertEquals(itemSellStat.getAvg(), (10+20+30+40)/4, 0);
assertEquals(itemSellStat.getBest().getPrice(), 10d, 0);
}
@Test
public void testBuy(){
LOG.info("Start buy test");
assertEquals(itemBuyStat.getAvg(), (100+200+300+400)/4, 0);
assertEquals(itemBuyStat.getBest().getPrice(), 400d, 0);
}
}