StringUtilsTest.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * ZeroTier One - Network Virtualization Everywhere
  3. * Copyright (C) 2011-2023 ZeroTier, Inc. https://www.zerotier.com/
  4. */
  5. package com.zerotier.sdk.util;
  6. import static com.google.common.truth.Truth.assertThat;
  7. import org.junit.Test;
  8. import org.junit.runner.RunWith;
  9. import org.junit.runners.JUnit4;
  10. @RunWith(JUnit4.class)
  11. public class StringUtilsTest {
  12. public StringUtilsTest() {
  13. }
  14. public String oldMacDisplay(long mac) {
  15. String macStr = Long.toHexString(mac);
  16. if (macStr.length() > 12) {
  17. throw new RuntimeException();
  18. }
  19. while (macStr.length() < 12) {
  20. //noinspection StringConcatenationInLoop
  21. macStr = "0" + macStr;
  22. }
  23. //noinspection StringBufferReplaceableByString
  24. StringBuilder displayMac = new StringBuilder();
  25. displayMac.append(macStr.charAt(0));
  26. displayMac.append(macStr.charAt(1));
  27. displayMac.append(':');
  28. displayMac.append(macStr.charAt(2));
  29. displayMac.append(macStr.charAt(3));
  30. displayMac.append(':');
  31. displayMac.append(macStr.charAt(4));
  32. displayMac.append(macStr.charAt(5));
  33. displayMac.append(':');
  34. displayMac.append(macStr.charAt(6));
  35. displayMac.append(macStr.charAt(7));
  36. displayMac.append(':');
  37. displayMac.append(macStr.charAt(8));
  38. displayMac.append(macStr.charAt(9));
  39. displayMac.append(':');
  40. displayMac.append(macStr.charAt(10));
  41. displayMac.append(macStr.charAt(11));
  42. return displayMac.toString();
  43. }
  44. @Test
  45. public void testMacDisplay() {
  46. long mac1 = 1234567891;
  47. assertThat(StringUtils.macAddressToString(mac1)).isEqualTo(oldMacDisplay(mac1));
  48. long mac2 = 999999999;
  49. assertThat(StringUtils.macAddressToString(mac2)).isEqualTo(oldMacDisplay(mac2));
  50. long mac3 = 0x7fffffffffffL;
  51. assertThat(StringUtils.macAddressToString(mac3)).isEqualTo(oldMacDisplay(mac3));
  52. assertThat(StringUtils.macAddressToString(mac3)).isEqualTo("7f:ff:ff:ff:ff:ff");
  53. long mac4 = 0x7fafcf3f8fffL;
  54. assertThat(StringUtils.macAddressToString(mac4)).isEqualTo(oldMacDisplay(mac4));
  55. assertThat(StringUtils.macAddressToString(mac4)).isEqualTo("7f:af:cf:3f:8f:ff");
  56. }
  57. }