Exemple #1
0
    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);
    }