"""Test suite for hypercomplex.py."""

import unittest
# TODO

# r = Q(9, 1, 2, 3, 6, 9)


# X = reals(int)
# Y = cayley_dickson_construction(float)

# exit()
# r = C(9, 88676)
# print(2j * r)

# print(r.real, r.imag)
# print(type(r.real), type(r.imag))

# c = complex(C(4+8j))
# print(c, type(c))


# # print(C(1+2j).conjugate() == (1+2j).conjugate())

# print(type(r.norm()))
# print(type(abs(r)))
# c = C(-3, 4)

# print(type(c.norm()))
# print(type(abs(c)))

# q = Q(1, 2, 3, 4)


# # print(complex(q))  # == 1+7j == r)
# # print(1+7j)

# # print(int(r), float(r), complex(r), Decimal(r), bool(r))

# print(complex(c))
# print(float(c))

# print(complex(q))
# print(float(q))
# print(4.5+6j == c)

# print(5 in q)
# d = {r: 6}
# print(d)

# print(hash(r), hash((99, 0)))
# print(hash(q))

# # http://sites.science.oregonstate.edu/coursewikis/GO/book/go/sedenions.html
# e = Sedenion(Octonion(0), Octonion(1), pair=True)
# e2 = Sedenion(Octonion(1), Octonion(0), pair=True)
# p = Octonion(1, 2, 3, 4, 5, 6, 7, 8)

# # print(p * e2 == p)
# # print(p * e)  # it works!

# # print(Trigintaduonion.e_matrix())

# i = Sedenion.e(1)
# j = Sedenion.e(2)
# k = Sedenion.e(3)
# l = Sedenion.e(4)

# p = i*l + j*e
# q = j*l + i*e

# p = Quaternion(0, 1.234, 5, -6)

# # p = Real(900)

# print(p)
# print(str(p))
# print(repr(p))
# print(f"{p:0.05f}")
# print(format(p))
# exit()

# print(f'{e = !s}')
# print(f'{i = !s}')
# print(f'{j = !s}')
# # print(f'{k = !s}')6
# print(f'{l = !s}')
# print()

# print(f'{p = !s}')
# print(f'{q = !s}')
# print(f'{p*q = !s}')
# print(f'{1/p = !s}')
# print(f'{1/q = !s}')
# # print(f'{-2/p == p }')
# print(f'{(1/p)*(1/q) = !s}')

# # il = Sedenion.e(5)
# # il = Sedenion.e(9)
# # je = Sedenion.e()
# # jl = Sedenion.e()
# # ie = Sedenion.e()
