Пример #1
0
    private static void Main(string[] args)
    {
        using (StreamReader reader = File.OpenText(args[0]))
            while (!reader.EndOfStream)
            {
                string line = reader.ReadLine();
                if (null == line)
                {
                    continue;
                }
                // do something with line
                ISelfDescribingFinder finder = new SimpleSelfDescribingNumberfinder();

                Console.WriteLine(finder.Test(ulong.Parse(line)) ? 1 : 0);
            }
    }
        public void PerformanceTest(long n)
        {
            ISelfDescribingFinder finderLinear = new LinearSelfDescribingNumberFinder();
            ISelfDescribingFinder finderSimple = new SimpleSelfDescribingNumberfinder();

            var swSimple = new Stopwatch();
            var swLinear = new Stopwatch();

            finderLinear.Test(n);
            finderSimple.Test(n);

            swSimple.Start();
            finderSimple.Test(n);
            swSimple.Stop();

            swLinear.Start();
            finderLinear.Test(n);
            swLinear.Stop();

            Assert.IsTrue(swLinear.Elapsed < swSimple.Elapsed, "The simple implementation is faster. wtf?");
        }
        public void ValidTestForSelfDescribingNumber(long n)
        {
            ISelfDescribingFinder finder = new SimpleSelfDescribingNumberfinder();

            Assert.IsTrue(finder.Test(n), "Not a self describing number.");
        }
        public void InvalidTestForSelfDescribingNumber(long n)
        {
            ISelfDescribingFinder finder = new SimpleSelfDescribingNumberfinder();

            Assert.IsFalse(finder.Test(n), "A self describing number was passed to me, a negative test.");
        }