Пример #1
0
        public void TestParamsCtorSumThreeZeroes()
        {
            var c = new ArrayVar11(1, 0, 1, 1, 2, 0, 4, 1, 0, 2, 3);

            Assert.That(c.Count, Is.EqualTo(11));

            Assert.That(c.SumFromFirstZeroToLastZero(), Is.EqualTo(9));
            Assert.That(c.SumFromFirstZeroToLastZeroLinq(), Is.EqualTo(9));
        }
Пример #2
0
        public void TestParamsCtorSumNoneZeroesThrows()
        {
            var c = new ArrayVar11(1, 2, 1, 1, 2, 3, 4, 1, 1, 2, 3);

            Assert.That(c.Count, Is.EqualTo(11));

            Assert.That(c.SumFromFirstZeroToLastZero, Throws.Exception);
            Assert.That(c.SumFromFirstZeroToLastZeroLinq, Throws.Exception);
        }
Пример #3
0
        public void TestIEnumerableCtor()
        {
            var c = new ArrayVar11(
                Enumerable.Range(0, 5)
                .Prepend(10)
                .Append(0)
                .Append(11)
                .Select(u => (double)u)
                );

            Assert.That(c.Array, Is.EqualTo(new[] { 10d, 0, 1, 2, 3, 4, 0, 11 }));
            Assert.That(c.SumFromFirstZeroToLastZero(), Is.EqualTo(10).Within(1e-10));
        }
Пример #4
0
        private static void Main(string[] args)
        {
            System.Console.InputEncoding  = Encoding.UTF8;
            System.Console.OutputEncoding = Encoding.UTF8;

            if (args.Length != 0)
            {
                System.Console.WriteLine(new ArrayVar11(args.Select(Double.Parse)).SumFromFirstZeroToLastZero());
                return;
            }

            while (true)
            {
                try
                {
                    System.Console.WriteLine("Введите элементы через пробел: ");

                    var line = System.Console.ReadLine();

                    Arr = new ArrayVar11(line !
                                         .Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries)
                                         .Select(Double.Parse)
                                         );
                    break;
                }
                catch (Exception e)
                {
                    System.Console.Error.WriteLine(e);
                }
            }

            if (!Arr.IsHasAtLeastTwoZeroes())
            {
                System.Console.WriteLine("Нет двух нулей");
                Environment.Exit(1);
            }

            System.Console.WriteLine($"Сумма между нулевыми элементами: {Arr.SumFromFirstZeroToLastZeroLinq()}");
        }
Пример #5
0
        public void TestParamsCtorEqToArray()
        {
            var c = new ArrayVar11(2, 12, 12, 12);

            Assert.That(c.Array, Is.EqualTo(new[] { 2d, 12, 12, 12 }));
        }
Пример #6
0
        public void TestExpCtorE2()
        {
            var c = new ArrayVar11(2, 12);

            Assert.That(c.Array.Sum(), Is.EqualTo(Math.Exp(2)).Within(1e-3));
        }