public void HostName_IsEmpty_GivenUnreachableIpv4()
        {
            //Arrange
            string myIpv4 = "123.123.123.12";

            FolderSync.Network.NetworkInfoProvider networkInfoProvider = new FolderSync.Network.NetworkInfoProvider(myIpv4, FolderSync.Network.ConnectionInfoType.Ipv4);
            bool expected = true;

            //Act
            bool actual = networkInfoProvider.HostName == string.Empty;

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void HostName_IsNotEmpty_GivenValidIpv4()
        {
            //Arrange
            string myIpv4 = Dns.GetHostEntry(string.Empty).AddressList.First((x) => x.AddressFamily == AddressFamily.InterNetwork).ToString();

            FolderSync.Network.NetworkInfoProvider networkInfoProvider = new FolderSync.Network.NetworkInfoProvider(myIpv4, FolderSync.Network.ConnectionInfoType.Ipv4);
            bool expected = true;

            //Act
            bool actual = networkInfoProvider.HostName != string.Empty;

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void Ipv4_IsNull_GivenUnreachableHostName()
        {
            //Arrange
            string myHostName = Dns.GetHostName() + "ABCDEFG";

            FolderSync.Network.NetworkInfoProvider networkInfoProvider = new FolderSync.Network.NetworkInfoProvider(myHostName, FolderSync.Network.ConnectionInfoType.HostName);
            bool expected = true;

            //Act
            bool actual = networkInfoProvider.Ipv4 == null;

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void Ipv4_IsNull_GivenInvalidIpv4String()
        {
            //Arrange
            string myIpv4 = "AAA.AAA.AAA.AAA";

            FolderSync.Network.NetworkInfoProvider networkInfoProvider = new FolderSync.Network.NetworkInfoProvider(myIpv4);
            bool expected = true;

            //Act
            bool actual = networkInfoProvider.Ipv4 == null;

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void Ipv4_NotNull_GivenValidIpv4String()
        {
            //Arrange
            string myIpv4 = Dns.GetHostEntry(string.Empty).AddressList.First((x) => x.AddressFamily == AddressFamily.InterNetwork).ToString();

            FolderSync.Network.NetworkInfoProvider networkInfoProvider = new FolderSync.Network.NetworkInfoProvider(myIpv4);
            bool expected = true;

            //Act
            bool actual = networkInfoProvider.Ipv4 != null;

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void Serializes()
        {
            //Arrange
            string myIpv4 = "123.123.123.12";

            FolderSync.Network.NetworkInfoProvider networkInfoProvider = new FolderSync.Network.NetworkInfoProvider(myIpv4, FolderSync.Network.ConnectionInfoType.Ipv4);
            FolderSync.IO.Serializer <FolderSync.Network.NetworkInfoProvider> serializer = new FolderSync.IO.Serializer <FolderSync.Network.NetworkInfoProvider>();
            bool expected = true;

            //Act
            serializer.SerializeToFile(networkInfoProvider, FolderSync.IO.SerializationType.JSON, "networkInfo.json");
            bool actual = File.Exists("networkInfo.json");

            //Assert
            Assert.AreEqual(expected, actual);
        }