mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#8508 Python : Make sure an empty list will be received as empty list in Python Co-authored-by: magnesj <magnesj@users.noreply.github.com>
93 lines
3.2 KiB
Python
93 lines
3.2 KiB
Python
import sys
|
|
import os
|
|
|
|
sys.path.insert(1, os.path.join(sys.path[0], "../../"))
|
|
import rips
|
|
|
|
import dataroot
|
|
|
|
|
|
def test_10k(rips_instance, initialize_test):
|
|
case_root_path = dataroot.PATH + "/TEST10K_FLT_LGR_NNC"
|
|
case_path = case_root_path + "/TEST10K_FLT_LGR_NNC.EGRID"
|
|
case = rips_instance.project.load_case(path=case_path)
|
|
assert len(case.grids()) == 2
|
|
well_path_files = [
|
|
case_root_path + "/wellpath_a.dev",
|
|
case_root_path + "/wellpath_b.dev",
|
|
]
|
|
well_path_names = rips_instance.project.import_well_paths(well_path_files)
|
|
wells = rips_instance.project.well_paths()
|
|
assert len(wells) == 2
|
|
assert wells[0].name == "Well Path A"
|
|
assert wells[1].name == "Well Path B"
|
|
|
|
|
|
def test_10k_intersection(rips_instance, initialize_test):
|
|
case_root_path = dataroot.PATH + "/TEST10K_FLT_LGR_NNC"
|
|
case_path = case_root_path + "/TEST10K_FLT_LGR_NNC.EGRID"
|
|
case = rips_instance.project.load_case(path=case_path)
|
|
assert len(case.grids()) == 2
|
|
well_path_files = [
|
|
case_root_path + "/wellpath_a.dev",
|
|
]
|
|
|
|
view = case.create_view()
|
|
view.set_time_step(1)
|
|
|
|
well_path_names = rips_instance.project.import_well_paths(well_path_files)
|
|
wells = rips_instance.project.well_paths()
|
|
well_path = wells[0]
|
|
|
|
# Add a curve intersection based on the well path
|
|
intersection_coll = rips_instance.project.descendants(rips.IntersectionCollection)[
|
|
0
|
|
]
|
|
well_path_intersection = intersection_coll.add_new_object(rips.CurveIntersection)
|
|
well_path_intersection.type = "CS_WELL_PATH"
|
|
well_path_intersection.well_path = well_path
|
|
well_path_intersection.update()
|
|
|
|
# Three coords per triangle
|
|
geometry = well_path_intersection.geometry()
|
|
coord_count = len(geometry.x_coords)
|
|
assert coord_count == 13254
|
|
|
|
# One value per triangle
|
|
geometry_result_values = well_path_intersection.geometry_result()
|
|
result_count = len(geometry_result_values.values)
|
|
assert result_count == 4418
|
|
|
|
# Three coords per triangle, one result value per triangle
|
|
assert (result_count * 3) == coord_count
|
|
|
|
|
|
def test_empty_well_intersection(rips_instance, initialize_test):
|
|
case_root_path = dataroot.PATH + "/TEST10K_FLT_LGR_NNC"
|
|
case_path = case_root_path + "/TEST10K_FLT_LGR_NNC.EGRID"
|
|
case = rips_instance.project.load_case(path=case_path)
|
|
|
|
view = case.create_view()
|
|
view.set_time_step(1)
|
|
|
|
# Add a curve intersection based on the well path
|
|
intersection_coll = rips_instance.project.descendants(rips.IntersectionCollection)[
|
|
0
|
|
]
|
|
|
|
well_path_intersection = intersection_coll.add_new_object(rips.CurveIntersection)
|
|
well_path_intersection.type = "CS_WELL_PATH"
|
|
well_path_intersection.well_path = None
|
|
well_path_intersection.update()
|
|
|
|
# Test with empty geometry. This will also test that an empty list in CAF is converted to an empty list in Python
|
|
# See __makelist in pdmobject.py
|
|
geometry = well_path_intersection.geometry()
|
|
coord_count = len(geometry.x_coords)
|
|
assert coord_count == 0
|
|
|
|
# One value per triangle
|
|
geometry_result_values = well_path_intersection.geometry_result()
|
|
result_count = len(geometry_result_values.values)
|
|
assert result_count == 0
|