public void check_cancel_order(String campaign, String product, String order, int quantity) { PoolManager poolManager = new PoolManager(); String[] sCamp = campaign.Split(" "); String[] sPro = product.Split(" "); String[] sOrd = order.Split(" "); Campaign campaignTemp = new Campaign(sCamp[1], sCamp[2], Double.Parse(sCamp[3]), Double.Parse(sCamp[4]), Double.Parse(sCamp[5])); Product productTemp = new Product(sPro[1], Double.Parse(sPro[2]), Double.Parse(sPro[3]), false); campaignTemp._campaignStatus = CampaignStatus.Active; poolManager.getProducts().Add(productTemp); poolManager.getCampaigns().Add(campaignTemp); Assert.Equal(CampaignStatus.Active, (poolManager.getCampaigns()[0])._campaignStatus); campaignController.doSale(sOrd, productTemp, poolManager); Assert.Equal(Int32.Parse(sOrd[2]), (int)(poolManager.getCampaigns()[0])._totalSales); Assert.Equal(CampaignStatus.Active, (poolManager.getCampaigns()[0])._campaignStatus); campaignController.cancelOrder(poolManager.getCampaigns()[0], quantity, poolManager.getProducts()[0]._campaignPrice); Assert.Equal(0, (int)(poolManager.getCampaigns()[0])._totalSales); String[] sOrdNew = "create_order A11 100".Split(" "); campaignController.doSale(sOrdNew, productTemp, poolManager); Assert.Equal(100, (int)(poolManager.getCampaigns()[0])._totalSales); Assert.Equal(CampaignStatus.Ended, (poolManager.getCampaigns()[0])._campaignStatus); campaignController.cancelOrder(poolManager.getCampaigns()[0], 100, poolManager.getProducts()[0]._campaignPrice); Assert.Equal(0, (int)(poolManager.getCampaigns()[0])._totalSales); Assert.Equal(CampaignStatus.Active, (poolManager.getCampaigns()[0])._campaignStatus); }