def METHOD_NAME(wwinp_data, request):
    wwinp_file, mesh, particle_types, energy_bounds = wwinp_data
    wws = openmc.wwinp_to_wws(request.node.path.parent / wwinp_file)
    for i, ww in enumerate(wws):
        e_bounds = energy_bounds[i]
        particle_type = particle_types[i]
        assert ww.particle_type == particle_type
        # check the mesh grid
        # there will be some very small changes due to the number of digits
        # provided in the wwinp format and the use of np.linspace to compute
        # boundaries of the fine mesh intervals
        np.testing.assert_allclose(mesh.x_grid, ww.mesh.x_grid, rtol=1e-6)
        np.testing.assert_allclose(mesh.y_grid, ww.mesh.y_grid, rtol=1e-6)
        np.testing.assert_allclose(mesh.z_grid, ww.mesh.z_grid, rtol=1e-6)
        # check the energy bounds
        np.testing.assert_array_equal(e_bounds, ww.energy_bounds)
        # check the expected weight window values mocked in the file --
        # a reversed array of the flat index into the numpy array
        n_wws = np.prod((*mesh.dimension, e_bounds.size - 1))
        exp_ww_lb = np.linspace(1, n_wws, n_wws)[::-1]
        np.testing.assert_array_equal(exp_ww_lb, ww.lower_ww_bounds.flatten())