void Arrive() { var customers = Enumerable.Range(0, Empirical.Sample(DefaultRS, Config.ArrivalGroupSizeProbs)).Select(i => new Customer()).ToList(); foreach (var c in customers) { c.Id = ++CustomersCount; c.ArrivalTime = ClockTime; } AllCustomers.AddRange(customers); Waiting.Add(customers); Start(); Log("{0} arrived.", customers.Count); }
public void TestEmpiricalFromFile() { Console.WriteLine("Testing Empirical.FromFile()"); Empirical empirical = Empirical.FromFile("resources\\americanages.txt"); Console.WriteLine("Checking bin count."); Expect(empirical.BinCount == 16); var edges = new[] { 0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 75.0, 85.0, 100.0 }; Console.WriteLine("Checking bin edges (#)."); Expect(empirical.BinEdges.Length == edges.Length); Console.WriteLine("Checking bin edges (values)."); for (int iEdge = 0; iEdge < edges.Length; iEdge++) { Expect(empirical.BinEdges[iEdge] == edges[iEdge]); } var probabilities = new[] { 0.068139579, 0.073020819, 0.072944671, 0.071844401, 0.067382041, 0.068870283, 0.072882992, 0.080687295, 0.079745843, 0.071396427, 0.062488581, 0.047861576, 0.038395993, 0.065350307, 0.043924148, 0.015065044 }; Console.WriteLine("Checking bin values (probabilities)."); for (int iBin = 0; iBin < empirical.BinCount; iBin++) { Expect(empirical[iBin] == probabilities[iBin]); } Console.WriteLine("Empirical.FromFile() passed."); }