public void TestError()
        {
            var provider  = new LegacyObjectMetadataProvider.LatestVersionProvider();
            var validator = new ObjectCodeValidator();

            var metadata = provider.ProvideMetadata(out string properCode);

            Assert.That(() => validator.AssertCodeIsValid("AS", metadata),
                        Throws.Exception.TypeOf <InvalidOperationException>().With.Message.Contains($"The code [AS] is not valid. Expected [{properCode}]!"));
        }
Example #2
0
        static void Main(string[] args)
        {
            var    v        = new LegacyObjectMetadataProvider.LatestVersionProvider();
            string metadata = v.ProvideMetadata();

            Console.WriteLine($"Getting product code from \n{metadata}");
            var code = GetCode(metadata);

            Console.WriteLine($"Recognized code as [{code}]");
            var validator = new ObjectCodeValidator();

            try
            {
                validator.AssertCodeIsValid(code, metadata);
                Console.WriteLine($"Code [{code}] is valid");
            }
            catch (Exception)
            {
                Console.WriteLine($"Code [{code}] is invalid");
            }
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            #region Beta

            /*
             * LegacyObjectMetadataProvider.V1 metadataProviderVersion1 = new LegacyObjectMetadataProvider.V1();
             * string metadata1 = metadataProviderVersion1.ProvideMetadata();
             *
             * LegacyObjectMetadataProvider.V2 metadataProviderVersion2 = new LegacyObjectMetadataProvider.V2();
             * string metadata2 = metadataProviderVersion2.ProvideMetadata();
             *
             * LegacyObjectMetadataProvider.V3 metadataProviderVersion3 = new LegacyObjectMetadataProvider.V3();
             * string metadata3 = metadataProviderVersion3.ProvideMetadata();
             *
             * LegacyObjectMetadataProvider.V4 metadataProviderVersion4 = new LegacyObjectMetadataProvider.V4();
             * string metadata4 = metadataProviderVersion4.ProvideMetadata();
             *
             * LegacyObjectMetadataProvider.V5 metadataProviderVersion5 = new LegacyObjectMetadataProvider.V5();
             * string metadata5 = metadataProviderVersion5.ProvideMetadata();
             *
             * LegacyObjectMetadataProvider.V6 metadataProviderVersion6 = new LegacyObjectMetadataProvider.V6();
             * string metadata6 = metadataProviderVersion6.ProvideMetadata();
             *
             * LegacyObjectMetadataProvider.V7 metadataProviderVersion7 = new LegacyObjectMetadataProvider.V7();
             * string metadata7 = metadataProviderVersion7.ProvideMetadata();
             *
             * string[] allStrings = new string[] {
             *  metadata1, metadata2, metadata3, metadata4, metadata5, metadata6, metadata7
             * };
             *
             * for (int i = 0; i < 7; i++)
             * {
             *  string metadata = allStrings[i];
             *  Console.WriteLine($"Getting product code from:{Environment.NewLine}{metadata}");
             *  string code = GetCode(allStrings[i]);
             *  Console.ForegroundColor = ConsoleColor.Green;
             *  Console.WriteLine($"Recognized code as [{code}]");
             *  Console.ForegroundColor = ConsoleColor.Gray;
             *
             *  ObjectCodeValidator validator = new ObjectCodeValidator();
             *  validator.AssertCodeIsValid(code, metadata);
             *  Console.WriteLine();
             * }
             * Console.ForegroundColor = ConsoleColor.Yellow;
             * Console.WriteLine("Everything works. Cool!");
             * Console.ForegroundColor = ConsoleColor.DarkGray;
             * Console.Write("Press any button to exit...");
             * Console.ReadKey();
             */
            #endregion

            LegacyObjectMetadataProvider.LatestVersionProvider metadataProvider = new LegacyObjectMetadataProvider.LatestVersionProvider();
            ObjectCodeValidator validator = new ObjectCodeValidator();
            int progressbar = 0;
            var sw          = System.Diagnostics.Stopwatch.StartNew();
            for (int i = 0; i < 1_000_000; i++)
            {
                string metadata = metadataProvider.ProvideMetadata();
                string code     = GetCode(metadata);
                validator.AssertCodeIsValid(code, metadata);

                if (i % 1000 == 0)
                {
                    Console.Clear();
                    progressbar++;
                    Console.ForegroundColor = ConsoleColor.Gray;
                    Console.WriteLine($"{i} of 1M codes are checked... [{code}]");
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    ProgresBarDrawer(i / 25000);
                }
            }
            Console.Clear();
            Console.WriteLine($"All codes are correct!");
            Console.ForegroundColor = ConsoleColor.Green;
            ProgresBarDrawer(40);
            sw.Stop();
            Console.ReadKey();
        }
 public void TestLatestExplicitMax()
 {
     var provider = new LegacyObjectMetadataProvider.LatestVersionProvider();
     var metadata = provider.ProvideMetadata(LegacyObjectMetadataProvider.ApiVersion.V7);
 }
        public void TestLatest()
        {
            var provider = new LegacyObjectMetadataProvider.LatestVersionProvider();

            ValidateProvider(provider.ProvideMetadata);
        }