TestPlanRules.java

80 lines | 2.163 kB Blame History Raw Download
/*
 * Copyright 2010-2011 Ning, Inc.
 *
 * Ning licenses this file to you under the Apache License, version 2.0
 * (the "License"); you may not use this file except in compliance with the
 * License.  You may obtain a copy of the License at:
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */
package com.ning.billing.catalog.rules;

import com.ning.billing.catalog.Catalog;
import com.ning.billing.catalog.Plan;
import com.ning.billing.catalog.PriceList;
import com.ning.billing.catalog.Product;
import com.ning.billing.catalog.api.ProductCategory;


public class TestPlanRules {

	public Catalog createCatalog(PlanPolicyChangeRule[] generalRules, 
			CaseChangePlanPolicy[] specialCaseRules,
			CaseCancelPolicy[] cancelCaseRules,
					Product fromP,
					Product toP) {
		Catalog c = new Catalog();
		PlanRules pcr = new PlanRules(
				new ProductTier[] {new ProductTier(new Product[]{ fromP, toP })},
				generalRules,
				specialCaseRules,
				cancelCaseRules,
				null,
				null
		);
		c.setPlanChangeRules(pcr);
		c.setProducts(new Product[] { fromP, toP });
		return c;
	}
	
	public Catalog createCatalog(PlanPolicyChangeRule[] generalRules, 
			CaseChangePlanPolicy[] specialCaseRules,
			CaseCancelPolicy[] cancelCaseRules,
			CaseChangePlanAlignment[] alignmentChangeCases,
					Product fromP,
					Product toP) {
		Catalog c = new Catalog();
		PlanRules pcr = new PlanRules(
				new ProductTier[] {new ProductTier(new Product[]{ fromP, toP })},
				generalRules,
				specialCaseRules,
				cancelCaseRules,
				alignmentChangeCases,
				null
		);

		c.setPlanChangeRules(pcr);
		c.setProducts(new Product[] { fromP, toP });
		return c;
	}

	
	public Product createProduct(String name) {
		return new Product(name, ProductCategory.BASE);
	}
	

	protected PriceList createPriceList(String name) {
		PriceList result = new PriceList(new Plan[]{},name);
		return result;
	}


}