public void Action(DateTime current)
        {
            var list           = new List <Record>();
            int diseaseReports = Random.Next(25);

            for (int i = 0; i < diseaseReports; i++)
            {
                list.Add(DiseaseGenerator.Generate(TimeSimulator.Current, Random));
            }
            DiseaseSimulatorClient.Client.Connect(Endpoint);
            var packet = new Packet <List <Record> >
            {
                Payload         = list,
                VectorTimeStamp = new VectorTimeStamp(),
                Sent            = current
            };

            packet.VectorTimeStamp[SystemRegistration.Id] = new VectorCounter {
                Counter = ++SendActionCounter, Date = current
            };
            var json  = JsonConvert.SerializeObject(packet);
            var frame = new ZFrame(json);

            Console.WriteLine("Sent: ");
            Console.WriteLine(json);
            DiseaseSimulatorClient.Client.SendAsync(json, DiseaseSimulatorClient.ReceiveAction);
        }
Пример #2
0
        public void Create_DifferentDiceSeed_GenerateUniqueDiseases([Values(1, 2, 3, 4, 5)] int diceSeed, [Values(1, 10, 100)] int count)
        {
            // ARRANGE

            var dice = new LinearDice(diceSeed);

            var generator = new DiseaseGenerator(dice);

            // ACT

            var resultDiseases = new List <IDisease>();

            for (var i = 0; i < count; i++)
            {
                var disease = generator.Create();
                if (disease != null)
                {
                    resultDiseases.Add(disease);
                    Console.WriteLine($"{disease.Name.Secondary?.Ru} {disease.Name.PrimaryPrefix?.Ru}{disease.Name.Primary?.Ru} {disease.Name.Subject?.Ru}");
                }
            }

            // ASSERT
            foreach (var disease in resultDiseases)
            {
                resultDiseases.Should().NotContain(x => x != disease && x.Name == disease.Name);
            }
        }