Example #1
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 #2
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 #3
0
        public void CalculateUniqueNumbers_NullArguments_ThrowsException()
        {
            Assert.ThrowsException <ArgumentNullException>(()
                                                           => AnimatedHappinessCalculator.CalculateUniqueNumbers(_firstArray, null));

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

            Assert.ThrowsException <ArgumentNullException>(()
                                                           => AnimatedHappinessCalculator.CalculateUniqueNumbers(null, null));
        }
Example #4
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 #5
0
 public void CalculateUniqueNumbers()
 => AnimatedHappinessCalculator.CalculateUniqueNumbers(First, Second).Consume(_consumer);