Exemple #1
0
    public void check_create_campaign_with_exception_cases_for_missing_parameters(String campaign)
    {
        PoolManager poolManager = new PoolManager();

        String[] sCamp = campaign.Split(" ");
        Assert.Throws <Exception>(() => campaignController.createCampaign(sCamp, poolManager));
    }
Exemple #2
0
    public void check_price(String product, String campaign)
    {
        PoolManager poolManager = new PoolManager();

        String[] splitProduct  = product.Split(" ");
        String[] splitCampaign = campaign.Split(" ");
        productController.createProduct(splitProduct, poolManager);
        campaignController.createCampaign(splitCampaign, poolManager);
        poolManager.getCampaigns()[0]._hourInCampaign = 1;
        priceController.checkPrice(poolManager);
        Assert.Equal(80, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._totalSales = 20;
        priceController.checkPrice(poolManager);
        Assert.Equal(92, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._totalSales = 40;
        priceController.checkPrice(poolManager);
        Assert.Equal(104, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._totalSales = 70;
        priceController.checkPrice(poolManager);
        Assert.Equal(120, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._hourInCampaign = 2;
        poolManager.getCampaigns()[0]._totalSales     = 0;
        priceController.checkPrice(poolManager);
        Assert.Equal(80, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._totalSales = 40;
        priceController.checkPrice(poolManager);
        Assert.Equal(92, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._totalSales = 70;
        priceController.checkPrice(poolManager);
        Assert.Equal(101, (poolManager.getProducts()[0])._campaignPrice);
        poolManager.getCampaigns()[0]._totalSales = 150;
        priceController.checkPrice(poolManager);
        Assert.Equal(120, (poolManager.getProducts()[0])._campaignPrice);
    }
Exemple #3
0
    public void check_pool_get_and_reset_func_with_unexpected_input_for_order
        (String product, String campaign, String order)
    {
        PoolManager poolManager = new PoolManager();

        String[] splitProduct  = product.Split(" ");
        String[] splitCampaign = campaign.Split(" ");
        String[] splitOrder    = order.Split(" ");
        productController.createProduct(splitProduct, poolManager);
        campaignController.createCampaign(splitCampaign, poolManager);
        Assert.Throws <Exception>(() => orderController.createOrder(splitOrder, poolManager));
        Assert.Equal(1, (int)poolManager.getProducts().Count);
        Assert.Equal(1, (int)poolManager.getCampaigns().Count);
        Assert.Equal(0, (int)poolManager.getOrders().Count);
        poolManager.resetPool();
        Assert.Equal(0, (int)poolManager.getProducts().Count);
        Assert.Equal(0, (int)poolManager.getCampaigns().Count);
        Assert.Equal(0, (int)poolManager.getOrders().Count);
    }
Exemple #4
0
        public void Run(String[] parameters, PoolManager poolManager)
        {
            Operation operation;

            if (!(Enum.TryParse(parameters[0].ToUpper(), true, out operation)))
            {
                UndefinedCommand();
            }
            switch (operation)
            {
            case Operation.CREATE_PRODUCT:
                productController.createProduct(parameters, poolManager);
                break;

            case Operation.CREATE_CAMPAIGN:
                campaignController.createCampaign(parameters, poolManager);
                break;

            case Operation.CREATE_ORDER:
                orderController.createOrder(parameters, poolManager);
                break;

            case Operation.INCREASE_TIME:
                poolManager.GetTime().increaseTime(parameters, poolManager);
                break;

            case Operation.GET_PRODUCT_INFO:
                productController.getProductInfo(parameters, poolManager);
                break;

            case Operation.GET_CAMPAIGN_INFO:
                campaignController.getCampaignInfo(parameters, poolManager);
                break;

            case Operation.CANCEL_ORDER:
                orderController.cancelOrder(parameters, poolManager);
                break;
            }
        }
Exemple #5
0
    public void check_increase_time_campaign_hour_with_bigger_than_campaign_duration_cases
        (String time, String campaign, String product)
    {
        TimeController timeController = new TimeController();
        PoolManager    poolManager    = new PoolManager();

        String[] sTime     = time.Split(" ");
        String[] sCampaign = campaign.Split(" ");
        String[] sProduct  = product.Split(" ");
        productController.createProduct(sProduct, poolManager);
        campaignController.createCampaign(sCampaign, poolManager);
        timeController.increaseTimeCampaign(sTime, poolManager);
        TimeSpan actual = new TimeSpan(13, 00, 00);

        Assert.Equal(actual, (poolManager.getCampaigns()[0])._localHour);
        Assert.Equal(CampaignStatus.Ended, (poolManager.getCampaigns()[0])._campaignStatus);
    }