Update project structure and configurations
This commit is contained in:
93
bindings/python/tests/test_boundary.py
Normal file
93
bindings/python/tests/test_boundary.py
Normal file
@@ -0,0 +1,93 @@
|
||||
import pytest
|
||||
import warnings
|
||||
from entropyk import (
|
||||
Concentration,
|
||||
VolumeFlow,
|
||||
RelativeHumidity,
|
||||
VaporQuality,
|
||||
RefrigerantSource,
|
||||
RefrigerantSink,
|
||||
BrineSource,
|
||||
BrineSink,
|
||||
AirSource,
|
||||
AirSink,
|
||||
FlowSource,
|
||||
FlowSink,
|
||||
System,
|
||||
)
|
||||
|
||||
def test_physical_types_instantiation():
|
||||
"""Test instantiation and constraints of new physical types."""
|
||||
c = Concentration(0.3)
|
||||
assert c.value == 0.3
|
||||
with pytest.raises(ValueError):
|
||||
Concentration(1.5)
|
||||
|
||||
vf = VolumeFlow(0.1)
|
||||
assert vf.value == 0.1
|
||||
with pytest.raises(ValueError):
|
||||
VolumeFlow(-0.1)
|
||||
|
||||
rh = RelativeHumidity(0.5)
|
||||
assert rh.value == 0.5
|
||||
with pytest.raises(ValueError):
|
||||
RelativeHumidity(-0.1)
|
||||
|
||||
vq = VaporQuality(0.8)
|
||||
assert vq.value == 0.8
|
||||
with pytest.raises(ValueError):
|
||||
VaporQuality(1.1)
|
||||
|
||||
def test_refrigerant_boundary():
|
||||
"""Test RefrigerantSource and RefrigerantSink instantiation."""
|
||||
source = RefrigerantSource(fluid="R134a", pressure_pa=200000.0, quality=0.5)
|
||||
sink = RefrigerantSink(fluid="R134a", p_back_pa=100000.0, quality=1.0)
|
||||
|
||||
assert "R134a" in repr(source)
|
||||
assert "0.50" in repr(source)
|
||||
assert "R134a" in repr(sink)
|
||||
|
||||
sys = System()
|
||||
sys.add_component(source)
|
||||
sys.add_component(sink)
|
||||
|
||||
def test_brine_boundary():
|
||||
"""Test BrineSource and BrineSink instantiation."""
|
||||
source = BrineSource(fluid="EthyleneGlycol", concentration=0.3, temperature_k=280.0, pressure_pa=200000.0)
|
||||
sink = BrineSink(p_back_pa=150000.0)
|
||||
|
||||
assert "EthyleneGlycol" in repr(source)
|
||||
assert "0.30" in repr(source)
|
||||
assert "150000" in repr(sink)
|
||||
|
||||
sys = System()
|
||||
sys.add_component(source)
|
||||
sys.add_component(sink)
|
||||
|
||||
def test_air_boundary():
|
||||
"""Test AirSource and AirSink instantiation."""
|
||||
source = AirSource(temperature_k=293.15, relative_humidity=0.5, pressure_pa=101325.0)
|
||||
sink = AirSink(p_back_pa=101325.0)
|
||||
|
||||
assert "293.1" in repr(source)
|
||||
assert "0.50" in repr(source)
|
||||
|
||||
sys = System()
|
||||
sys.add_component(source)
|
||||
sys.add_component(sink)
|
||||
|
||||
def test_deprecated_flow_boundary():
|
||||
"""Test that FlowSource and FlowSink raise deprecation warnings."""
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
warnings.simplefilter("always")
|
||||
FlowSource(pressure_pa=100000.0, temperature_k=300.0, fluid="Water")
|
||||
assert len(w) == 1
|
||||
assert issubclass(w[-1].category, DeprecationWarning)
|
||||
assert "deprecated" in str(w[-1].message).lower()
|
||||
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
warnings.simplefilter("always")
|
||||
FlowSink()
|
||||
assert len(w) == 1
|
||||
assert issubclass(w[-1].category, DeprecationWarning)
|
||||
assert "deprecated" in str(w[-1].message).lower()
|
||||
Reference in New Issue
Block a user