Example #1
0
        public void CalculateEvenNumbersSum_ValidArguments_ValidResult()
        {
            var sum = 14;

            Assert.AreEqual(sum,
                            AnimatedHappinessCalculator.CalculateEvenNumbersSum(_firstArray, _secondArray),
                            "Numbers aren't unique after CalculateEvenNumbersSum method.");
        }
Example #2
0
        public void CalculateUniqueNumbers_ValidArguments_ValidResult()
        {
            int[] uniqueNumbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };

            CollectionAssert.AreEqual(uniqueNumbers,
                                      AnimatedHappinessCalculator.CalculateUniqueNumbers(_firstArray, _secondArray),
                                      "Numbers aren't unique after CalculateUniqueNumbers method.");
        }
Example #3
0
        public void CalculateEvenNumbersSum_EmptyArguments_ValidResult()
        {
            Assert.AreEqual(58, AnimatedHappinessCalculator.CalculateEvenNumbersSum(_firstArray, Enumerable.Empty <int>()),
                            "Incorrect result when second array is empty.");

            Assert.AreEqual(0, AnimatedHappinessCalculator.CalculateEvenNumbersSum(Enumerable.Empty <int>(), _secondArray),
                            "Incorrect result when first array is empty.");

            Assert.AreEqual(0, AnimatedHappinessCalculator.CalculateEvenNumbersSum(Enumerable.Empty <int>(), Enumerable.Empty <int>()),
                            "Incorrect result when both arrays are empty.");
        }
Example #4
0
        public void CalculateUniqueNumbers_EmptyArguments_ValidResult()
        {
            CollectionAssert.AreEqual(_firstArray.Distinct().ToArray(), AnimatedHappinessCalculator.CalculateUniqueNumbers(_firstArray, Enumerable.Empty <int>()),
                                      "Incorrect result when second array is empty.");

            CollectionAssert.AreEqual(_secondArray.Distinct().ToArray(), AnimatedHappinessCalculator.CalculateUniqueNumbers(Enumerable.Empty <int>(), _secondArray),
                                      "Incorrect result when first array is empty.");

            CollectionAssert.AreEqual(Array.Empty <int>(), AnimatedHappinessCalculator.CalculateUniqueNumbers(Enumerable.Empty <int>(), Enumerable.Empty <int>()),
                                      "Incorrect result when both arrays are empty.");
        }
Example #5
0
        public void CalculateUniqueOddNumbers_NullArguments_ThrowsException()
        {
            Assert.ThrowsException <ArgumentNullException>(()
                                                           => AnimatedHappinessCalculator.CalculateUniqueOddNumbers(_firstArray, null));

            Assert.ThrowsException <ArgumentNullException>(()
                                                           => AnimatedHappinessCalculator.CalculateUniqueOddNumbers(null, _secondArray));

            Assert.ThrowsException <ArgumentNullException>(()
                                                           => AnimatedHappinessCalculator.CalculateUniqueOddNumbers(null, null));
        }
Example #6
0
        public void CalculateUniqueOddNumbers_ValidArguments_ValidResult()
        {
            Dictionary <int, int> uniqueOddNumbers = new Dictionary <int, int>
            {
                [1] = 0,
                [3] = 0,
                [5] = 3,
                [7] = 1,
                [9] = 1
            };

            CollectionAssert.AreEqual(uniqueOddNumbers,
                                      AnimatedHappinessCalculator.CalculateUniqueOddNumbers(_firstArray, _secondArray),
                                      "Numbers aren't unique after CalculateUniqueOddNumbers method.");
        }
Example #7
0
        public void CalculateEvenNumbersSum_NullArguments_ThrowsException()
        {
            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                AnimatedHappinessCalculator.CalculateEvenNumbersSum(_firstArray, null);
            });

            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                AnimatedHappinessCalculator.CalculateEvenNumbersSum(null, _secondArray);
            });

            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                AnimatedHappinessCalculator.CalculateEvenNumbersSum(null, null);
            });
        }
Example #8
0
        public void CalculateUniqueOddNumbers_EmptyArguments_ValidResult()
        {
            var firstResult = new Dictionary <int, int>
            {
                [1] = 0,
                [3] = 0,
                [5] = 0,
                [7] = 0,
                [9] = 0
            };

            CollectionAssert.AreEqual(firstResult, AnimatedHappinessCalculator.CalculateUniqueOddNumbers(_firstArray, Enumerable.Empty <int>()),
                                      "Incorrect result when second array is empty.");

            var secondResult = new Dictionary <int, int>();

            CollectionAssert.AreEqual(secondResult, AnimatedHappinessCalculator.CalculateUniqueOddNumbers(Enumerable.Empty <int>(), _secondArray),
                                      "Incorrect result when first array is empty.");

            var emptyResult = new Dictionary <int, int>();

            CollectionAssert.AreEqual(emptyResult, AnimatedHappinessCalculator.CalculateUniqueOddNumbers(Enumerable.Empty <int>(), Enumerable.Empty <int>()),
                                      "Incorrect result when both arrays are empty.");
        }
Example #9
0
        public static void Main(string[] args)
        {
            Parser.Default.ParseArguments <CommandLineOptions>(args)
            .WithParsed(option =>
            {
                try
                {
                    var json = File.ReadAllText(option.Path);

                    var parsed = JsonConvert.DeserializeObject <ParsedJson>(json);

                    var uniqueNumbers =
                        AnimatedHappinessCalculator.CalculateUniqueNumbers(parsed.First, parsed.Second);
                    Console.WriteLine($"Unique numbers in both arrays: {string.Join(",", uniqueNumbers)}");

                    Console.WriteLine();

                    var uniqueOddNumbers =
                        AnimatedHappinessCalculator.CalculateUniqueOddNumbers(parsed.First, parsed.Second);
                    Console.WriteLine("Unique odd numbers in first array and their quantity in second array:");
                    foreach (var number in uniqueOddNumbers)
                    {
                        Console.WriteLine($"{number.Key}: {number.Value}");
                    }

                    Console.WriteLine();

                    var sum = AnimatedHappinessCalculator.CalculateEvenNumbersSum(parsed.First, parsed.Second);
                    Console.WriteLine($"Sum of unique even numbers in first array, which not present in second array: {sum}");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            });
        }
Example #10
0
 public int CalculateEvenNumbersSum()
 => AnimatedHappinessCalculator.CalculateEvenNumbersSum(First, Second);
Example #11
0
 public IDictionary <int, int> CalculateUniqueOddNumbers()
 => AnimatedHappinessCalculator.CalculateUniqueOddNumbers(First, Second);
Example #12
0
 public void CalculateUniqueNumbers()
 => AnimatedHappinessCalculator.CalculateUniqueNumbers(First, Second).Consume(_consumer);