/// <summary> /// Constructor /// </summary> public PaySlipDomainTest() { //Dependant instances are instantiated without passing object parameters so that dependancies are isolated from each testing unit taxRates = new TaxRatesDomain(); dataSource = new DataSourceDomain(); //The testing data is from the example of business requirements dataSource.AnnualSalary = 60050; dataSource.SuperRate = 9; //in percent taxRates.TaxStartup = 3572; taxRates.ThresholdBottom = 37000; taxRates.RatePerDolloar = 32.5m; //in cents paySlip = new PaySlipDomain(taxRates, dataSource); }
/// <summary> /// Constructor /// </summary> public SecondLevel() { taxRates = new TaxRatesDomain(); }
/// <summary> /// Constructor /// </summary> public FifthLevel() { taxRates = new TaxRatesDomain(); }
/// <summary> /// Constructor /// </summary> public FirstLevel() { taxRates = new TaxRatesDomain(); }
/// <summary> /// Constructor /// </summary> public ThirdLevel() { taxRates = new TaxRatesDomain(); }
/// <summary> /// constructor /// (Passing parameters for DI) /// </summary> /// <param name="_taxRates"></param> /// <param name="_dataSource"></param> //Dependancies are based on abstration, not concretion public PaySlipDomain(ITaxRatesDomain _taxRates, IDataSourceDomain _dataSource) { taxRates = (TaxRatesDomain)_taxRates; dataSource = (DataSourceDomain)_dataSource; }