Move ToHost/NetworkOrder to Net namespace (#7)

This commit is contained in:
Oliver Booth 2022-04-29 17:45:43 +01:00
parent d5e6febd5c
commit d1de1625f2
No known key found for this signature in database
GPG Key ID: 32A00B35503AF634
8 changed files with 152 additions and 59 deletions

View File

@ -0,0 +1,26 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using X10D.Net;
namespace X10D.Tests.Net;
[TestClass]
public class Int16Tests
{
[TestMethod]
public void HostToNetworkOrder_ReturnsCorrectValue()
{
const short hostOrder = 0x0102;
const short networkOrder = 0x0201;
Assert.AreEqual(BitConverter.IsLittleEndian ? networkOrder : hostOrder, hostOrder.HostToNetworkOrder());
}
[TestMethod]
public void NetworkToHostOrder_ReturnsCorrectValue()
{
const short hostOrder = 0x0102;
const short networkOrder = 0x0201;
Assert.AreEqual(BitConverter.IsLittleEndian ? hostOrder : networkOrder, networkOrder.NetworkToHostOrder());
}
}

View File

@ -0,0 +1,26 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using X10D.Net;
namespace X10D.Tests.Net;
[TestClass]
public class Int32Tests
{
[TestMethod]
public void HostToNetworkOrder_ReturnsCorrectValue()
{
const int hostOrder = 0x01020304;
const int networkOrder = 0x04030201;
Assert.AreEqual(BitConverter.IsLittleEndian ? networkOrder : hostOrder, hostOrder.HostToNetworkOrder());
}
[TestMethod]
public void NetworkToHostOrder_ReturnsCorrectValue()
{
const int hostOrder = 0x01020304;
const int networkOrder = 0x04030201;
Assert.AreEqual(BitConverter.IsLittleEndian ? hostOrder : networkOrder, networkOrder.NetworkToHostOrder());
}
}

View File

@ -0,0 +1,26 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using X10D.Net;
namespace X10D.Tests.Net;
[TestClass]
public class Int64Tests
{
[TestMethod]
public void HostToNetworkOrder_ReturnsCorrectValue()
{
const long hostOrder = 0x0102030405060708;
const long networkOrder = 0x0807060504030201;
Assert.AreEqual(BitConverter.IsLittleEndian ? networkOrder : hostOrder, hostOrder.HostToNetworkOrder());
}
[TestMethod]
public void NetworkToHostOrder_ReturnsCorrectValue()
{
const long hostOrder = 0x0102030405060708;
const long networkOrder = 0x0807060504030201;
Assert.AreEqual(BitConverter.IsLittleEndian ? hostOrder : networkOrder, networkOrder.NetworkToHostOrder());
}
}

View File

@ -1,5 +1,4 @@
using System.Net; using X10D.Math;
using X10D.Math;
namespace X10D; namespace X10D;
@ -69,24 +68,4 @@ public static class Int32Extensions
{ {
return ((float)value).DegreesToRadians(); return ((float)value).DegreesToRadians();
} }
/// <summary>
/// Converts an integer value from network byte order to host byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in network byte order.</param>
/// <returns>An integer value, expressed in host byte order.</returns>
public static int ToHostOrder(this int value)
{
return IPAddress.NetworkToHostOrder(value);
}
/// <summary>
/// Converts an integer value from host byte order to network byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in host byte order.</param>
/// <returns>An integer value, expressed in network byte order.</returns>
public static int ToNetworkOrder(this int value)
{
return IPAddress.HostToNetworkOrder(value);
}
} }

View File

@ -1,6 +1,4 @@
using System.Net; namespace X10D;
namespace X10D;
/// <summary> /// <summary>
/// Extension methods for <see cref="long" />. /// Extension methods for <see cref="long" />.
@ -50,24 +48,4 @@ public static class Int64Extensions
return persistence; return persistence;
} }
/// <summary>
/// Converts an integer value from network byte order to host byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in network byte order.</param>
/// <returns>An integer value, expressed in host byte order.</returns>
public static long ToHostOrder(this long value)
{
return IPAddress.NetworkToHostOrder(value);
}
/// <summary>
/// Converts an integer value from host byte order to network byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in host byte order.</param>
/// <returns>An integer value, expressed in network byte order.</returns>
public static long ToNetworkOrder(this long value)
{
return IPAddress.HostToNetworkOrder(value);
}
} }

View File

@ -1,29 +1,29 @@
using System.Net; using System.Net;
namespace X10D; namespace X10D.Net;
/// <summary> /// <summary>
/// Extension methods for <see cref="short" />. /// Network-related extension methods for <see cref="short" />.
/// </summary> /// </summary>
public static class Int16Extensions public static class Int16Extensions
{ {
/// <summary> /// <summary>
/// Converts an integer value from network byte order to host byte order. /// Converts a 16-bit signed integer value from host byte order to network byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in network byte order.</param>
/// <returns>An integer value, expressed in host byte order.</returns>
public static short ToHostOrder(this short value)
{
return IPAddress.NetworkToHostOrder(value);
}
/// <summary>
/// Converts an integer value from host byte order to network byte order.
/// </summary> /// </summary>
/// <param name="value">The value to convert, expressed in host byte order.</param> /// <param name="value">The value to convert, expressed in host byte order.</param>
/// <returns>An integer value, expressed in network byte order.</returns> /// <returns>An integer value, expressed in network byte order.</returns>
public static short ToNetworkOrder(this short value) public static short HostToNetworkOrder(this short value)
{ {
return IPAddress.HostToNetworkOrder(value); return IPAddress.HostToNetworkOrder(value);
} }
/// <summary>
/// Converts a 16-bit signed integer value from network byte order to host byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in network byte order.</param>
/// <returns>An integer value, expressed in host byte order.</returns>
public static short NetworkToHostOrder(this short value)
{
return IPAddress.NetworkToHostOrder(value);
}
} }

View File

@ -0,0 +1,29 @@
using System.Net;
namespace X10D.Net;
/// <summary>
/// IO-related extension methods for <see cref="int" />.
/// </summary>
public static class Int32Extensions
{
/// <summary>
/// Converts a 32-bit signed integer value from host byte order to network byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in host byte order.</param>
/// <returns>An integer value, expressed in network byte order.</returns>
public static int HostToNetworkOrder(this int value)
{
return IPAddress.HostToNetworkOrder(value);
}
/// <summary>
/// Converts a 32-bit signed integer value from network byte order to host byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in network byte order.</param>
/// <returns>An integer value, expressed in host byte order.</returns>
public static int NetworkToHostOrder(this int value)
{
return IPAddress.NetworkToHostOrder(value);
}
}

View File

@ -0,0 +1,29 @@
using System.Net;
namespace X10D.Net;
/// <summary>
/// IO-related extension methods for <see cref="long" />.
/// </summary>
public static class Int64Extensions
{
/// <summary>
/// Converts a 64-bit signed integer value from host byte order to network byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in host byte order.</param>
/// <returns>An integer value, expressed in network byte order.</returns>
public static long HostToNetworkOrder(this long value)
{
return IPAddress.HostToNetworkOrder(value);
}
/// <summary>
/// Converts a 64-bit signed integer value from network byte order to host byte order.
/// </summary>
/// <param name="value">The value to convert, expressed in network byte order.</param>
/// <returns>An integer value, expressed in host byte order.</returns>
public static long NetworkToHostOrder(this long value)
{
return IPAddress.NetworkToHostOrder(value);
}
}