public void PriceDataTableGatewayShouldPresistData() { var investmentVehicleDataTableGateway = new InvestmentVehicleDataTableGateway(_mutualFundPerformanceDatabaseSettings); var priceDataTableGateway = new PriceDataTableGateway(_mutualFundPerformanceDatabaseSettings); priceDataTableGateway.DeleteAll(); investmentVehicleDataTableGateway.DeleteAll(); var investmentVehicleId = Guid.NewGuid(); var externalId = Guid.NewGuid(); investmentVehicleDataTableGateway.Insert(new[] { new InvestmentVehicleDto() { InvestmentVehicleId = investmentVehicleId, Name = "Foo", ExternalId = externalId } }); priceDataTableGateway.Insert(new [] { new PriceDto() { InvestmentVehicleId = investmentVehicleId, CloseDate = new DateTime(2010, 1, 1), Price = 32.0m } }); var priceDtos = priceDataTableGateway.GetAll(); priceDtos.Should().HaveCount(1); priceDtos[0].InvestmentVehicleId.Should().Be(investmentVehicleId); priceDtos[0].CloseDate.Should().Be(new DateTime(2010, 1, 1)); priceDtos[0].Price.Should().Be(32.0m); priceDataTableGateway.DeleteAll(); investmentVehicleDataTableGateway.DeleteAll(); }
static void Main(string[] args) { var currentDate = DateTime.Now; var testDataPopulatorSettings = new TestDataPopulatorSettings(); var mutualFundDataTableGateway = new MutualFundDataTableGateway(testDataPopulatorSettings); var benchmarkDataTableGateway = new BenchmarkDataTableGateway(testDataPopulatorSettings); var investmentVehicleDataTableGateway = new InvestmentVehicleDataTableGateway(testDataPopulatorSettings); var priceDataTableGateway = new PriceDataTableGateway(testDataPopulatorSettings); priceDataTableGateway.DeleteAll(); investmentVehicleDataTableGateway.DeleteAll(); benchmarkDataTableGateway.DeleteAll(); mutualFundDataTableGateway.DeleteAll(); var mutualFundDtos = new List <MutualFundDto>(); var benchmarkDtos = new List <BenchmarkDto>(); var investmentVehicleDtos = new List <InvestmentVehicleDto>(); var priceDtos = new List <PriceDto>(); var random = new Random(100); var fundCount = 10; for (int fundCounter = 0; fundCounter < fundCount; fundCounter++) { var mutualFundId = Guid.NewGuid(); mutualFundDtos.Add(new MutualFundDto() { MutualFundId = mutualFundId, Name = $"Mutual Fun {fundCounter}", Symbol = $"MF{fundCounter:000}", }); var mutualFundInvestmentVehicleId = Guid.NewGuid(); investmentVehicleDtos.Add(new InvestmentVehicleDto() { InvestmentVehicleId = mutualFundInvestmentVehicleId, ExternalId = mutualFundId, Name = $"Prices for Mutual Fund {fundCounter}" }); priceDtos = AddPrices(currentDate, random, priceDtos, mutualFundInvestmentVehicleId, isFund: true); var benchmarkCount = 1; var multiBenchmarkRandom = random.Next(1, 10); if (multiBenchmarkRandom == 10) { benchmarkCount = 3; } else if (multiBenchmarkRandom >= 8) { benchmarkCount = 3; } for (int benchmarkCounter = 0; benchmarkCounter < benchmarkCount; benchmarkCounter++) { benchmarkDtos.Add(new BenchmarkDto() { BenchmarkId = Guid.NewGuid(), MutualFundId = mutualFundId, Name = $"Benchmark {fundCounter} {benchmarkCounter}", SortOrder = benchmarkCounter }); var benchmarkInvestmentVehicleId = Guid.NewGuid(); investmentVehicleDtos.Add(new InvestmentVehicleDto() { InvestmentVehicleId = benchmarkInvestmentVehicleId, ExternalId = mutualFundId, Name = $"Prices for Benchmark {fundCounter} {benchmarkCounter}" }); priceDtos = AddPrices(currentDate, random, priceDtos, benchmarkInvestmentVehicleId, isFund: false); } } Console.WriteLine("Inserting mutual funds."); mutualFundDataTableGateway.Insert(mutualFundDtos.ToArray()); Console.WriteLine("Inserting benchmarks."); benchmarkDataTableGateway.Insert(benchmarkDtos.ToArray()); Console.WriteLine("Inserting investment vehcles."); investmentVehicleDataTableGateway.Insert(investmentVehicleDtos.ToArray()); Console.WriteLine("Inserting prices."); priceDataTableGateway.Insert(priceDtos.ToArray()); }