public void WriteNumerical_Decimal() { var val = ABSaveWriter.WriteNumerical(616136316631790.13613137137177m, TypeCode.Decimal, true); // Act/Assert Assert.AreEqual(val, "\b\u000f\u0019\u008e[Òr½o2\u0001\u009a\u0015Ç\0\0\u000e"); }
public void WriteNumerical_Int16ToSB() { // Act StringBuilder sb = new StringBuilder(); ABSaveWriter.WriteNumerical(243, TypeCode.Int16, true, true, sb); // Act/Assert Assert.AreEqual(sb.ToString(), "\u0001ó"); }
public void WriteNumerical_DecimalToSB() { // Act var sb = new StringBuilder(); ABSaveWriter.WriteNumerical(616136316631790.13613137137177m, TypeCode.Decimal, true, true, sb); // Act/Assert Assert.AreEqual(sb.ToString(), "\b\u000f\u0019\u008e[Òr½o2\u0001\u009a\u0015Ç\0\0\u000e"); }
private static void NumberExperimenting() { var num = 216161; var bytes = BitConverter.GetBytes(num); if (BitConverter.IsLittleEndian) { Array.Reverse(bytes); } Console.ReadLine(); if (BitConverter.IsLittleEndian) { Array.Reverse(bytes); } var num_recreate = BitConverter.ToInt32(bytes, 0); // Convert a decimal to bytes Stopwatch watch = Stopwatch.StartNew(); decimal dec = 261663061631136316003160.1616754194237272794327232324747478442882884282m; var decBytes = decimal.GetBits(dec); var final = new byte[16]; BitConverter.GetBytes(decBytes[0]).CopyTo(final, 0); BitConverter.GetBytes(decBytes[1]).CopyTo(final, 4); BitConverter.GetBytes(decBytes[2]).CopyTo(final, 8); BitConverter.GetBytes(decBytes[3]).CopyTo(final, 12); watch.Stop(); Console.WriteLine(watch.ElapsedMilliseconds + ": " + watch.ElapsedTicks); // Convert back. Stopwatch watch2 = Stopwatch.StartNew(); var recreate_arr = new int[4]; recreate_arr[0] = BitConverter.ToInt32(final, 0); recreate_arr[1] = BitConverter.ToInt32(final, 4); recreate_arr[2] = BitConverter.ToInt32(final, 8); recreate_arr[3] = BitConverter.ToInt32(final, 12); var finalDec = new decimal(recreate_arr); watch2.Stop(); // Test byte lengths. var single = BitConverter.GetBytes(612316f); var dou = BitConverter.GetBytes(362361d); while (true) { var current = ABSaveWriter.WriteNumerical(626136617721, TypeCode.Int64, false); Console.WriteLine(watch2.ElapsedMilliseconds + ": " + watch2.ElapsedTicks); } //BitConverter. }
public void WriteNumerical_Int16() { // Act/Assert Assert.AreEqual(ABSaveWriter.WriteNumerical(243, TypeCode.Int16, true), "\u0001ó"); }
public void WriteNumerical_Double() { // Act/Assert Assert.AreEqual(ABSaveWriter.WriteNumerical(6261366.36161d, TypeCode.Double, true), "\b\bE\u009e$\u0097\u009dâWA"); }
public void WriteNumerical_Float() { // Act/Assert Assert.AreEqual(ABSaveWriter.WriteNumerical(62613661.36161f, TypeCode.Single, true), "\b\u0004'ÚnL"); }
public void WriteNumerical_Int64() { // Act/Assert Assert.AreEqual(ABSaveWriter.WriteNumerical(626136617721, TypeCode.Int64, true), "\b\u0005ù\u0092¦È\u0091"); }
public void WriteNumerical_Int32() { // Act/Assert Assert.AreEqual(ABSaveWriter.WriteNumerical(6261, TypeCode.Int32, true), "\u0007u\u0018"); }