Beispiel #1
0
        static void Main(string[] args)
        {
            FrogieDate date = new FrogieDate();

            Console.WriteLine("Podaj rok:");

            var line = Console.ReadLine();

            date.UstawRok(int.Parse(line));

            Console.WriteLine("Podaj miesiac:");

            var line2 = Console.ReadLine();

            date.UstawMiesiac(int.Parse(line2));

            Console.WriteLine("Podaj dzien:");

            var line3 = Console.ReadLine();

            date.UstawDzien(int.Parse(line3));

            FrogieDateValidator validator = new FrogieDateValidator();
            var valid = validator.DateValidate(date.PodajRok(), date.PodajMiesiac(), date.PodajDzien());

            if (valid)
            {
                Console.WriteLine("data jest ok");
            }
            else
            {
                Console.WriteLine("data jest walnieta");
            }

            Console.ReadKey();
        }
Beispiel #2
0
        public void FrogieTestDate()
        {
            FrogieDateValidator validator = new FrogieDateValidator();

            Assert.IsFalse(validator.DateValidate(2014, 13, 31));
            Assert.IsFalse(validator.DateValidate(2014, 12, 32));
            Assert.IsTrue(validator.DateValidate(2014, 12, 31));
            Assert.IsFalse(validator.DateValidate(2014, 04, 31));
            Assert.IsFalse(validator.DateValidate(2015, 02, 29));

            FrogieBetterDateValidator validator1 = new FrogieBetterDateValidator();

            Assert.IsFalse(validator1.DateValidate(2014, 13, 31));
            Assert.IsFalse(validator1.DateValidate(2014, 12, 32));
            Assert.IsTrue(validator1.DateValidate(2014, 12, 31));
            Assert.IsFalse(validator1.DateValidate(2014, 04, 31));
            Assert.IsFalse(validator1.DateValidate(2015, 02, 29));


            List <IDateValidator> testCollection = new List <IDateValidator>()
            {
                validator,
                validator1,
                new InitialTrainingLibrary.RS.Simple.DateValidator(),
                new InitialTrainingLibrary.RS.Complex.DateValidator(),
                new MyDate(),
                new InitialTrainingLibrary.Sito._1.DateValidator(),
                new InitialTrainingLibrary.koziu.DateValidator.DateValidator()
            };

            List <EfficiencyMonitorEntity> efficiencyResults = new List <EfficiencyMonitorEntity>(testCollection.Count);

            foreach (var valid in testCollection)
            {
                var efficiencyResult = new EfficiencyMonitorEntity()
                {
                    Author = valid.GetName()
                };

                var start = DateTime.Now.Millisecond;

                for (int i = 0; i < 10000; i++)
                {
                    efficiencyResult.FailsCount += valid.DateValidate(2014, 13, 31) ? 1 : 0;
                    efficiencyResult.FailsCount += valid.DateValidate(2014, 12, 32) ? 1 : 0;
                    efficiencyResult.FailsCount += valid.DateValidate(2014, 12, 31) ? 0 : 1;
                    efficiencyResult.FailsCount += valid.DateValidate(2014, 04, 31) ? 1 : 0;
                    efficiencyResult.FailsCount += valid.DateValidate(2015, 02, 29) ? 1 : 0;
                    efficiencyResult.FailsCount += valid.DateValidate(2015, 02, 28) ? 0 : 1;
                    efficiencyResult.FailsCount += valid.DateValidate(2016, 02, 29) ? 0 : 1;
                    efficiencyResult.FailsCount += valid.DateValidate(2016, 02, 30) ? 1 : 0;
                }

                var end = DateTime.Now.Millisecond;

                efficiencyResult.Time = end - start;

                efficiencyResults.Add(efficiencyResult);
            }

            efficiencyResults.Sort((r, r2) => testComparison(r.Time, r2.Time));

            foreach (var result in efficiencyResults)
            {
                Debug.WriteLine("name: {0}, time: {1}, fails: {2}", result.Author, result.Time, result.FailsCount);
            }
        }