コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }