/
dirobil
/
playbits
Обзор
Документация
Войти
/
dirobil
/
playbits
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/test_string_bits.py
149 строк
3 KB
dirobil
Add BooleanBits and ByteBits
17 янв 2026, 20:05
17 янв 2026, 20:05
c411a17
Код
Авторство
О чём код?
import sys import os os.chdir(os.path.dirname(__file__)) sys.path.append("..") from playbits import StringBits, BooleanBits, ByteBits def test_string_bits(): sb1 = StringBits() sb2 = StringBits() sb1.set_pyint(64) sb2.set_pyint(8) # Проверка операций # t1 = [ # ("&", sb1._and(sb2)), # ("|", sb1._or(sb2)), # ("^", sb1._xor(sb2)), # ("+", sb1._plus(sb2)), # ("-", sb1._minus(sb2)), # ("*", sb1._multiply(sb2)), # ("//", sb1._divide(sb2)) # ] # for sign, bits in t1: # print(f"{sb1.to_bigint()} {sign} {sb2.to_bigint()} = {bits.to_bigint()}") # переключить бит # sb1.toggle_bit(5) # print(sb1.to_bigint()) # текст # print(sb1.to_read_string()) # прочее # print(sb1.to_hex()) # print(sb1.to_bigint()) # print(sb1.to_string()) # массивы # print(sb1.arr_bytes()) # print(sb1.arr_int()) # print(sb1.arr_uint()) # print(sb1.arr_float()) # плавающие числа sb1.set_float(3.14) sb1.set_float(6512.24, 64) sb1.set_float(-90.88, 128) sb1.set_float(-69.69, 192) print(sb1.arr_float()) def test_boolean_bits(): bb1 = BooleanBits() bb2 = BooleanBits() bb1.set_pyint(64) bb2.set_pyint(8) # Проверка операций # t1 = [ # ("&", bb1._and(bb2)), # ("|", bb1._or(bb2)), # ("^", bb1._xor(bb2)), # ("+", bb1._plus(bb2)), # ("-", bb1._minus(bb2)), # ("*", bb1._multiply(bb2)), # ("//", bb1._divide(bb2)) # ] # for sign, bits in t1: # print(f"{bb1.to_bigint()} {sign} {bb2.to_bigint()} = {bits.to_bigint()}") # переключить бит # bb1.toggle_bit(5) # print(bb1.to_bigint()) # текст # print(bb1.to_read_string()) # прочее # print(bb1.to_hex()) # print(bb1.to_bigint()) # print(bb1.to_string()) # массивы # print(bb1.arr_bytes()) # print(bb1.arr_int()) # print(bb1.arr_uint()) # print(bb1.arr_float()) # плавающие числа bb1.set_float(3.14) bb1.set_float(6512.24, 64) bb1.set_float(-90.88, 128) bb1.set_float(-69.69, 192) print(bb1.arr_float()) def test_byte_bits(): bb1 = ByteBits() bb2 = ByteBits() bb1.set_pyint(64) bb2.set_pyint(8) # Проверка операций # t1 = [ # ("&", bb1._and(bb2)), # ("|", bb1._or(bb2)), # ("^", bb1._xor(bb2)), # ("+", bb1._plus(bb2)), # ("-", bb1._minus(bb2)), # ("*", bb1._multiply(bb2)), # ("//", bb1._divide(bb2)) # ] # for sign, bits in t1: # print(f"{bb1.to_bigint()} {sign} {bb2.to_bigint()} = {bits.to_bigint()}") # переключить бит # bb1.toggle_bit(5) # print(bb1.to_bigint()) # текст # print(bb1.to_read_string()) # прочее # print(bb1.to_hex()) # print(bb1.to_bigint()) # print(bb1.to_string()) # массивы # print(bb1.arr_bytes()) # print(bb1.arr_int()) # print(bb1.arr_uint()) # print(bb1.arr_float()) # плавающие числа bb1.set_float(3.14) bb1.set_float(6512.24, 64) bb1.set_float(-90.88, 128) bb1.set_float(-69.69, 192) print(bb1.arr_float()) if __name__ == "__main__": test_string_bits() test_boolean_bits() test_byte_bits()