public void AdvancedAMAgatherInfoTestMethod() { //Setup communicatro stub List <MQCommodityWrapper> mqCommodityWrapper = new List <MQCommodityWrapper>(); List <MQReqWrapper> mqReqyWrapper = new List <MQReqWrapper>(); MQUser mqUser = new MQUser(); CommStubStaticReturn comm = new CommStubStaticReturn(); comm.qAllmarket = mqCommodityWrapper; comm.qAllrequests = mqReqyWrapper; comm.quser = mqUser; //Run AMA for a while AdvancedAMA agent = new AdvancedAMA(3, 1000, comm); agent.enable(true); System.Threading.Thread.Sleep(1500); agent.enable(false); //Verify if AMA has collected the info from the communicator stub Assert.IsNotNull(agent.commoditiesInfo); Assert.IsNotNull(agent.requestsInfo); Assert.IsNotNull(agent.userData); Assert.AreEqual(mqCommodityWrapper, agent.commoditiesInfo); Assert.AreEqual(mqReqyWrapper, agent.requestsInfo); Assert.AreEqual(mqUser, agent.userData); }
public IMarketResponse SendQueryUserRequest() { //example: {"commodities": {"0": 0, "1": 0, "2": 0, "3": 0}, "funds": 40, "requests": [1, 2]} Trace.WriteLine(String.Format("Sent User Query Request")); MQUser output = new MQUser(); output.requests.Add(1337); output.requests.Add(666); output.commodities.Add("1", 10); return(output); }
public void SellTestFullProcess() { //arrange MBuySell sell = new MBuySell(); sell.id = "666"; MQReq query = new MQReq(); MQCommodity market = new MQCommodity(); market.bid = "1"; MarketException excp = new MarketException(); //create valid user query response MQUser user = new MQUser(); user.commodities = new Dictionary <String, int>(); user.commodities.Add("1", 3); int test = user.commodities["1"]; CommStubStaticReturn comm = new CommStubStaticReturn(null, sell, null, excp, market, user, null, null); SellProcess testProcess = new SellProcess(true, comm, 1, 1, 1, 1); //initial assert Assert.AreEqual(testProcess.currIndex, 0); Assert.AreEqual(testProcess.queue, LogicQueue.first); //act1 object output = testProcess.run(); //assert1 Assert.AreEqual(testProcess.currIndex, 1); Assert.AreEqual(testProcess.queue, LogicQueue.first); //act2 output = testProcess.run(); //assert2 Assert.AreEqual(testProcess.currIndex, 2); Assert.AreEqual(testProcess.queue, LogicQueue.first); //act3 output = testProcess.run(); //assert3 Assert.AreEqual(testProcess.currIndex, 3); Assert.AreEqual(testProcess.queue, LogicQueue.first); //act4 output = testProcess.run(); //assert4 Assert.AreEqual(testProcess.currIndex, 0); Assert.AreEqual(testProcess.queue, LogicQueue.last); //update communicator stub comm = new CommStubStaticReturn(null, sell, null, query, market, user, null, null); testProcess.comm = comm; //act5 output = testProcess.run(); //assert5 Assert.AreEqual(testProcess.currIndex, 0); Assert.AreEqual(testProcess.queue, LogicQueue.last); }