def test_endianness(self):
        n = Node()
        n.set(100)
        if Endianness.machine_is_little_endian():
            print("machine is little endian")
            self.assertTrue(
                Endianness.little_id() == Endianness.machine_default())
            # big and back
            n.endian_swap_to_big()
            v = n.value()
            self.assertTrue(v != 100)
            n.endian_swap_to_little()
            v = n.value()
            self.assertTrue(v == 100)

            # big and back w/ default swap
            n.endian_swap_to_big()
            v = n.value()
            self.assertTrue(v != 100)
            n.endian_swap_to_machine_default()
            v = n.value()
            self.assertTrue(v == 100)

        elif Endianness.machine_is_big_endian():
            print("machine is big endian")
            self.assertTrue(
                Endianness.big_id() == Endianness.machine_default())
            # little and back
            n.endian_swap_to_little()
            v = n.value()
            self.assertTrue(v != 100)
            n.endian_swap_to_big()
            v = n.value()
            self.assertTrue(v == 100)

            # little and back w/ default swap
            n.endian_swap_to_little()
            v = n.value()
            self.assertTrue(v != 100)
            n.endian_swap_to_machine_default()
            v = n.value()
            self.assertTrue(v == 100)
        n.set(20)
        n.endian_swap(Endianness.big_id())
        n.endian_swap(Endianness.little_id())
        v = n.value()
        self.assertTrue(v == 20)