public void GetDiscountCodeUsagesTest() { FinanceBL financeBL = new FinanceBL(DataContext); // Create 3 companies CompanyMock companyMock = new CompanyMock(DataContext); Company company1 = companyMock.GetCompany(); Company company2 = companyMock.GetCompany(); Company company3 = companyMock.GetCompany(); // Create 2 discount codes DiscountCode discount1 = new DiscountCodeMock(DataContext).GetDiscountCode("DisCode1", 60.00M, 5, 5); DiscountCode discount2 = new DiscountCodeMock(DataContext).GetDiscountCode("DisCode2", 50.00M, 5, 5); DataContext.DiscountCodes.AddObject(discount1); DataContext.DiscountCodes.AddObject(discount2); DataContext.SaveChanges(); // Apply discount codes to compnies financeBL.SaveDiscountCodeUsageToCompany(discount1, 0, company1.CompanyId); DataContext.SaveChanges(); financeBL.SaveDiscountCodeUsageToCompany(discount1, 0, company2.CompanyId); DataContext.SaveChanges(); financeBL.SaveDiscountCodeUsageToCompany(discount2, 0, company2.CompanyId); DataContext.SaveChanges(); financeBL.SaveDiscountCodeUsageToCompany(discount2, 0, company3.CompanyId); DataContext.SaveChanges(); // Get Counts List <DiscountCodeUsage> dis1UsageWithInActive = financeBL.GetDiscountCodeUsages(discount1.DiscountCodeID, true); List <DiscountCodeUsage> dis1UsageWithOutInActive = financeBL.GetDiscountCodeUsages(discount1.DiscountCodeID, false); List <DiscountCodeUsage> dis2UsageWithInActive = financeBL.GetDiscountCodeUsages(discount2.DiscountCodeID, true); List <DiscountCodeUsage> dis2UsageWithOutInActive = financeBL.GetDiscountCodeUsages(discount2.DiscountCodeID, false); // Validate Assert.IsTrue(dis1UsageWithInActive.Count == 2); Assert.IsTrue(dis1UsageWithOutInActive.Count == 1); Assert.IsTrue(dis2UsageWithInActive.Count == 2); Assert.IsTrue(dis2UsageWithOutInActive.Count == 2); }