xref: /libCEED/python/tests/test-0-ceed.py (revision a9e65696a8c8214eb82d2dcf9ed1f28a32d2c94e)
1# Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors
2# All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3#
4# SPDX-License-Identifier: BSD-2-Clause
5#
6# This file is part of CEED:  http://github.com/ceed
7
8# @file
9# Test Ceed functionality
10
11import libceed
12import pytest
13
14# -------------------------------------------------------------------------------
15# Test creation and destruction of a Ceed object
16# -------------------------------------------------------------------------------
17
18
19def test_000(ceed_resource):
20    ceed = libceed.Ceed(ceed_resource)
21
22# -------------------------------------------------------------------------------
23# Test return of Ceed backend prefered memory type
24# -------------------------------------------------------------------------------
25
26
27def test_001(ceed_resource):
28    ceed = libceed.Ceed(ceed_resource)
29
30    memtype = ceed.get_preferred_memtype()
31
32    assert memtype != "error"
33
34# -------------------------------------------------------------------------------
35# Test return of a CEED object full resource name
36# -------------------------------------------------------------------------------
37
38
39def test_002(ceed_resource):
40    ceed = libceed.Ceed(ceed_resource)
41
42    resource = ceed.get_resource()
43
44    assert resource == ceed_resource
45
46# -------------------------------------------------------------------------------
47# Test viewing of a CEED object
48# -------------------------------------------------------------------------------
49
50
51def test_003(ceed_resource):
52    ceed = libceed.Ceed(ceed_resource)
53
54    print(ceed)
55
56# -------------------------------------------------------------------------------
57# Test CEED object error handling
58# -------------------------------------------------------------------------------
59
60
61def test_005(ceed_resource):
62    ceed = libceed.Ceed(ceed_resource)
63
64    vec = ceed.Vector(5)
65    vec.set_value(0.0)
66    array1 = vec.get_array()
67
68    exception_raised = False
69    try:
70        array2 = vec.get_array()
71    except BaseException:
72        exception_raised = True
73
74    assert exception_raised
75
76    vec.restore_array()
77
78# -------------------------------------------------------------------------------
79