public void Publish_should_calculate_totalCost() { ICostCalculatorPolicy costCalculatorPolicy = CostCalculatorFactory.Create(); Document document = new Document(10); //or _repository.Get(aggregateId) document.Publish(costCalculatorPolicy); //_repository.Save(document); }
public Document2(int pages, ICostCalculatorPolicy costCalculatorPolicy) { _pages = pages; _costCalculatorPolicy = costCalculatorPolicy; _status = DocumentStatus.NEW; }
public void Publish(ICostCalculatorPolicy costCalculatorPolicy) { _status = DocumentStatus.PUBLISHED; _printingCost = costCalculatorPolicy.Calculate(_pages); }