This repository has been archived on 2025-04-15. You can view files and clone it, but cannot push or open issues or pull requests.
python_cluster_reader/tests/test_ClusterReader.py
Erik Frojdh b21ae3da2e format
2023-05-31 14:25:20 +02:00

28 lines
1016 B
Python

import pytest
import os, sys
from creader import ClusterFileReader
from fixtures import data_path
def test_references_on_read(data_path):
fname= (data_path/'beam_En700eV_-40deg_300V_10us_d0_f0_100.clust').as_posix()
r = ClusterFileReader(fname)
clusters = r.read(10)
assert sys.getrefcount(clusters) == 2 #Over counts by one due to call by reference
def test_size_on_read(data_path):
fname= (data_path/'beam_En700eV_-40deg_300V_10us_d0_f0_100.clust').as_posix()
r = ClusterFileReader(fname)
for i in range(10):
clusters = r.read(10)
assert clusters.size == 10
def test_resize_on_read(data_path):
# File contains 481603 clusters, output should be resized to the correct size
fname= (data_path/'beam_En700eV_-40deg_300V_10us_d0_f0_100.clust').as_posix()
r = ClusterFileReader(fname)
max_clusters = 10000000 #400MB initial allocation
clusters = r.read(max_clusters)
assert clusters.size == 481603
assert sys.getrefcount(clusters) == 2