2023-05-09 11:48:17 +02:00
|
|
|
from TotOnline import TotOnline
|
|
|
|
from StartUpTest import StartUPTest
|
|
|
|
|
|
|
|
|
|
|
|
class Main:
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
print("Main class instantiated")
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
filename = "resources/Pi_ausgabe_2mal_TimeInSeconds_0_40_asTXT (1).txt"
|
|
|
|
with open(filename, "rb") as f:
|
|
|
|
binary_data = f.read().strip()
|
|
|
|
|
|
|
|
filename = "resources/Pi_ausgabe_2mal_TimeInSeconds_0_40_asTXT (1).txt"
|
|
|
|
with open(filename, "rb") as f:
|
|
|
|
binary_data2 = f.read().strip()
|
|
|
|
|
2023-05-15 15:41:17 +02:00
|
|
|
# Example byte sequence representing binary data
|
|
|
|
byte_data = bytes([0b11010001, 0b11000010, 0b11010100, 0b00110110, 0b10010100, 0b11100100, 0b10111111, 0b01000010, 0b01100011, 0b00111000, 0b00100110, 0b10001110, 0b11101000, 0b11100100, 0b10000001, 0b10011011, 0b01111011, 0b11101001, 0b00011010, 0b01001110, 0b00001111, 0b01000010, 0b11111001, 0b10110100, 0b10100000, 0b11101001, 0b00001100, 0b11001011, 0b11101100, 0b01101111, 0b10111000, 0b10010110, 0b11000101, 0b01000101, 0b10101011, 0b01001001, 0b00001100, 0b10010001, 0b11000100, 0b00101000, 0b11010101, 0b10001111, 0b00001000, 0b11000011, 0b10111110, 0b11110111, 0b01001110, 0b11100010, 0b10100000, 0b00001110, 0b00100101, 0b01111111, 0b01111010, 0b10101110, 0b10010110, 0b10101101, 0b01101110, 0b01010011, 0b10000100, 0b00011001, 0b01101110, 0b11000100, 0b11100010])
|
|
|
|
print(byte_data)
|
|
|
|
|
|
|
|
# Call the StarUpTest
|
2023-05-09 11:48:17 +02:00
|
|
|
print("StartUp:")
|
2023-05-15 15:41:17 +02:00
|
|
|
result = StartUPTest.monobit_test(byte_data)
|
2023-05-09 11:48:17 +02:00
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
|
2023-05-15 15:41:17 +02:00
|
|
|
# result = StartUPTest.autocorrelation_test(binary_data2)
|
|
|
|
# print("Z_tau:", result[0])
|
|
|
|
# print("test passed (Z_tau > 2326 and Z_tau < 2674):", result[1])
|
|
|
|
|
|
|
|
result = StartUPTest.chi_square(byte_data)
|
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
print("Chi2_statistic", result[2])
|
2023-05-09 11:48:17 +02:00
|
|
|
|
|
|
|
# Call the TotalFailure-Test
|
|
|
|
|
|
|
|
print("Total Failure:")
|
2023-05-15 15:41:17 +02:00
|
|
|
result = TotOnline.total_failure_test(byte_data, pattern_length=10)
|
2023-05-09 11:48:17 +02:00
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
|
|
|
|
# Call the Online Test
|
|
|
|
print("Monobit:")
|
2023-05-15 15:41:17 +02:00
|
|
|
result = TotOnline.monobit_test(byte_data)
|
2023-05-09 11:48:17 +02:00
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
|
|
|
|
print("Block Frequency:")
|
2023-05-15 15:41:17 +02:00
|
|
|
result = TotOnline.block_frequency_test(byte_data)
|
2023-05-09 11:48:17 +02:00
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
|
|
|
|
print("Run:")
|
2023-05-15 15:41:17 +02:00
|
|
|
result = TotOnline.run_test(byte_data)
|
2023-05-09 11:48:17 +02:00
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
|
|
|
|
print("Longest Run:")
|
2023-05-15 15:41:17 +02:00
|
|
|
result = TotOnline.longest_one_block_test(byte_data)
|
2023-05-09 11:48:17 +02:00
|
|
|
print("p_value:", result[0])
|
|
|
|
print("test passed (p_value >= 0.01):", result[1])
|
|
|
|
|
|
|
|
|