Пример #1
0
        static void Main(string[] args)
        {
            var path = args.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x));

            System.Console.WriteLine($"Processing file {path}");
            if (File.Exists(path))
            {
                using (var context = new AppDataContext(path))
                {
                    var contactDomain = new ContactDomain();
                    var addressDomain = new AddressDomain();
                    IEnumerable <KeyValuePair <int, string> > contacts = contactDomain.GetSortedListByNamesAndFrequency(context);
                    IEnumerable <string> addresses = addressDomain.SortByStreetAndFrequency(context);

                    System.Console.WriteLine($"{contacts.Count()} Names extracted");
                    System.Console.WriteLine($"{addresses.Count()} Addresses extracted");
                    System.Console.WriteLine($"Exporting to {Path.GetDirectoryName(path)}");

                    contactDomain.ExportToFile(contacts, Path.Combine(Path.GetFullPath(path), "contacts.txt"));
                    addressDomain.ExportToFile(addresses, Path.Combine(Path.GetFullPath(path), "addresses.txt"));
                    System.Console.WriteLine($"Exporting done, press any key");
                    System.Console.ReadKey();
                }
            }
        }
Пример #2
0
        public void TestSortByAddresses()
        {
            var domain  = new AddressDomain();
            var context = new Mock <IAppDataContext>();

            context.SetupGet(x => x.Addresses)
            .Returns(() =>
            {
                return(new Repository <Address>(new List <Address>()
                {
                    new Address()
                    {
                        Number = 102, Street = "Long Lane"
                    },
                    new Address()
                    {
                        Number = 65, Street = "Ambling Way"
                    },
                    new Address()
                    {
                        Number = 82, Street = "Stewart St"
                    },
                    new Address()
                    {
                        Number = 12, Street = "Howard St"
                    },
                    new Address()
                    {
                        Number = 78, Street = "Short Lane"
                    },
                    new Address()
                    {
                        Number = 49, Street = "Sutherland St"
                    },
                }));
            });
            IEnumerable <string> result = domain.SortByStreetAndFrequency(context.Object);

            Assert.IsNotNull(result);
            CollectionAssert.AllItemsAreUnique(result.ToList());
            Assert.IsTrue(result.Any(), "Returned No Resultes");
            Assert.IsTrue(result.Count() == 6, "Result count mismatch");

            Assert.IsTrue(result.First() == "65 Ambling Way", "First element mismatch");
            Assert.IsTrue(result.Last() == "49 Sutherland St", "Last element mismatch");
        }