コード例 #1
0
        public void GenerateAllANumbers()
        {
            string filename = $"{Directory.GetCurrentDirectory()}\\{DateTime.UtcNow.ToString("yyyy-MM-dd_hh-mm-ss-tt")}.txt";

            Stopwatch sw = new Stopwatch();

            sw.Start();
            var generator = new AnummerGenerator(allowMod5: true);

            var range = IEnumerableHelpers.LongRange(1010101010, 100000000);

            using (FileStream stream = new FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None, 4096, true))
                using (StreamWriter streamWriter = new StreamWriter(stream))
                {
                    var result = generator.
                                 GetValidANummerRangeParallel(range, async(validAnumber) =>
                                                              await streamWriter.WriteLineAsync(validAnumber.ToString()));

                    sw.Stop();

                    string log = $"Generated {result.Count()} A-nummer in: {sw.Elapsed}. We checked {generator.Tries} numbers";
                    streamWriter.WriteLine(log);
                    Trace.WriteLine(log);
                }
        }
コード例 #2
0
        public void GetValidANummerRangeParallel_1010101010_ShouldBeValid()
        {
            long[] range = new long[] { 1010101010 };

            var result = new AnummerGenerator(allowMod5: true).
                         GetValidANummerRangeParallel(range);

            Assert.True(result.Count() == 1);
        }
コード例 #3
0
        public void GenerateAnummer_ShouldGenerate()
        {
            var       gen = new AnummerGenerator();
            Stopwatch sw  = new Stopwatch();

            sw.Start();
            var num = gen.GenerateAnummer(1).ToArray();

            sw.Stop();

            Trace.WriteLine($"Generated 1 A-nummer in: {sw.Elapsed}. We tried {gen.Tries} times");
        }