public void Should_WriteNoEntries()
        {
            var hfs = new HostsFileService()
            {
                HostFilePath = Path.GetTempFileName()
            };

            hfs.WriteEntries(new HostFileEntry[] { });

            Assert.AreEqual(0, hfs.GetEntries().Count());

            try { File.Delete(hfs.HostFilePath); } catch { }

            // END FUNCTION
        }
        public void Should_EnumerateCorrectEntries()
        {
            HostsFileService hfs = new HostsFileService()
            {
                HostFilePath = Path.GetTempFileName()
            };

            using (var w = new StreamWriter(
                       new FileStream(hfs.HostFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)))
            {
                w.WriteLine("# fdafdasf");
                w.WriteLine("# fdfdsafdafdasfdsafas");
                w.WriteLine("#");
                w.WriteLine("");
                w.WriteLine("10.0.1.2                                        abc.com");
                w.WriteLine("255.122.111.56\t  def.com");
                w.WriteLine("# 255.122.111.46\tdontfindme.com");
                w.WriteLine("");
                w.WriteLine("# ::56\t\t      v6.com");
                w.WriteLine("::1\tlocalhost");
                w.WriteLine("");
                w.WriteLine("2001:0db8:85a3:0000:0000:8a2e:0370:7334    \tbigv6.net");
            }

            var entries = hfs.GetEntries();

            Assert.AreEqual(4, entries.Count());

            Assert.IsTrue(entries.Any(e =>
                                      string.Compare(e.Hostname, "abc.com", StringComparison.CurrentCultureIgnoreCase) == 0 &&
                                      string.Compare(e.Address, "10.0.1.2", StringComparison.CurrentCultureIgnoreCase) == 0));

            Assert.IsTrue(entries.Any(e =>
                                      string.Compare(e.Hostname, "def.com", StringComparison.CurrentCultureIgnoreCase) == 0 &&
                                      string.Compare(e.Address, "255.122.111.56", StringComparison.CurrentCultureIgnoreCase) == 0));

            Assert.IsTrue(entries.Any(e =>
                                      string.Compare(e.Hostname, "localhost", StringComparison.CurrentCultureIgnoreCase) == 0 &&
                                      string.Compare(e.Address, "::1", StringComparison.CurrentCultureIgnoreCase) == 0));

            Assert.IsTrue(entries.Any(e =>
                                      string.Compare(e.Hostname, "bigv6.net", StringComparison.CurrentCultureIgnoreCase) == 0 &&
                                      string.Compare(e.Address, "2001:0db8:85a3:0000:0000:8a2e:0370:7334", StringComparison.CurrentCultureIgnoreCase) == 0));

            try { File.Delete(hfs.HostFilePath); } catch { }

            // END FUNCTION
        }