more tests for ifc2x3

This commit is contained in:
Andrej730
2024-05-09 14:59:23 +05:00
parent 2d35869c41
commit 8ffb77551f
35 changed files with 181 additions and 31 deletions
@@ -39,3 +39,7 @@ class TestAddContextDependentUnit(test.bootstrap.IFC4):
assert unit.Dimensions.LuminousIntensityExponent == 7
assert unit.UnitType == "LENGTHUNIT"
assert unit.Name == "foobar"
class TestAddContextDependentUnitIFC2X3(test.bootstrap.IFC2X3, TestAddContextDependentUnit):
pass
@@ -20,7 +20,7 @@ import test.bootstrap
import ifcopenshell.api
class TestAddConversionBasedUnit(test.bootstrap.IFC4):
class TestAddConversionBasedUnitIFC2X3(test.bootstrap.IFC2X3):
def test_run(self):
unit = ifcopenshell.api.run("unit.add_conversion_based_unit", self.file, name="foot")
assert unit.is_a("IfcConversionBasedUnit")
@@ -40,6 +40,8 @@ class TestAddConversionBasedUnit(test.bootstrap.IFC4):
assert si_unit.Prefix is None
assert si_unit.Name == "METRE"
class TestAddConversionBasedUnitIFC4(test.bootstrap.IFC4, TestAddConversionBasedUnitIFC2X3):
def test_adding_a_unit_with_offset(self):
unit = ifcopenshell.api.run("unit.add_conversion_based_unit", self.file, name="fahrenheit")
assert unit.is_a("IfcConversionBasedUnitWithOffset")
@@ -25,3 +25,7 @@ class TestAddMonetaryUnit(test.bootstrap.IFC4):
unit = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="USD")
assert unit.is_a("IfcMonetaryUnit")
assert unit.Currency == "USD"
class TestAddMonetaryUnitIFC2X3(test.bootstrap.IFC2X3, TestAddMonetaryUnit):
pass
@@ -26,3 +26,7 @@ class TestAddSIUnit(test.bootstrap.IFC4):
assert unit.UnitType == "LENGTHUNIT"
assert unit.Name == "METRE"
assert unit.Prefix == "MILLI"
class TestAddSIUnitIFC2X3(test.bootstrap.IFC2X3, TestAddSIUnit):
pass
@@ -23,8 +23,8 @@ import ifcopenshell.api
class TestAssignUnit(test.bootstrap.IFC4):
def test_run(self):
project = self.file.createIfcProject()
unit1 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="FOO")
unit2 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="BAR")
unit1 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="USD")
unit2 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="JPY")
assignment = ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit1, unit2])
assert project.UnitsInContext == assignment
assert assignment.is_a("IfcUnitAssignment")
@@ -33,11 +33,15 @@ class TestAssignUnit(test.bootstrap.IFC4):
def test_assign_units_to_an_existing_assignment(self):
project = self.file.createIfcProject()
unit1 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="FOO")
unit2 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="BAR")
unit1 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="USD")
unit2 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="JPY")
assignment1 = ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit1])
assignment2 = ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit2])
assert project.UnitsInContext == assignment1
assert assignment1 == assignment2
assert unit1 in assignment1.Units
assert unit2 in assignment1.Units
class TestAssignUnitIFC2X3(test.bootstrap.IFC2X3, TestAssignUnit):
pass
@@ -31,3 +31,7 @@ class TestEditDerivedUnit(test.bootstrap.IFC4):
)
assert unit.UnitType == "USERDEFINED"
assert unit.UserDefinedType == "UserDefinedType"
class TestEditDerivedUnitIFC2X3(test.bootstrap.IFC2X3, TestEditDerivedUnit):
pass
@@ -23,5 +23,9 @@ import ifcopenshell.api
class TestEditMonetaryUnit(test.bootstrap.IFC4):
def test_run(self):
unit = self.file.createIfcMonetaryUnit()
ifcopenshell.api.run("unit.edit_monetary_unit", self.file, unit=unit, attributes={"Currency": "FOO"})
assert unit.Currency == "FOO"
ifcopenshell.api.run("unit.edit_monetary_unit", self.file, unit=unit, attributes={"Currency": "USD"})
assert unit.Currency == "USD"
class TestEditMonetaryUnitIFC2X3(test.bootstrap.IFC2X3, TestEditMonetaryUnit):
pass
@@ -20,7 +20,7 @@ import test.bootstrap
import ifcopenshell.api
class TestEditNamedUnit(test.bootstrap.IFC4):
class TestEditNamedUnitIFC2X3(test.bootstrap.IFC2X3):
def test_edit_context_dependent_unit(self):
unit = self.file.createIfcContextDependentUnit()
unit.Dimensions = self.file.createIfcDimensionalExponents()
@@ -59,6 +59,8 @@ class TestEditNamedUnit(test.bootstrap.IFC4):
assert unit.UnitType == "LENGTHUNIT"
assert unit.Name == "Name"
class TestEditNamedUnitIFC4(test.bootstrap.IFC4, TestEditNamedUnitIFC2X3):
def test_edit_conversion_based_unit_with_offset(self):
unit = self.file.createIfcConversionBasedUnitWithOffset()
unit.Dimensions = self.file.createIfcDimensionalExponents()
@@ -47,3 +47,7 @@ class TestRemoveUnit(test.bootstrap.IFC4):
unit = ifcopenshell.api.run("unit.add_conversion_based_unit", self.file, name="foot")
ifcopenshell.api.run("unit.remove_unit", self.file, unit=unit)
assert len([e for e in self.file]) == 0
class TestRemoveUnitIFC2X3(test.bootstrap.IFC2X3, TestRemoveUnit):
pass
@@ -23,8 +23,8 @@ import ifcopenshell.api
class TestUnassignUnit(test.bootstrap.IFC4):
def test_run(self):
project = self.file.createIfcProject()
unit1 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="FOO")
unit2 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="BAR")
unit1 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="USD")
unit2 = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="JPY")
assignment = ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit1, unit2])
ifcopenshell.api.run("unit.unassign_unit", self.file, units=[unit1])
assert unit1 not in assignment.Units
@@ -32,11 +32,15 @@ class TestUnassignUnit(test.bootstrap.IFC4):
def test_unassigning_the_last_unit(self):
project = self.file.createIfcProject()
unit = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="FOO")
unit = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="USD")
ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit])
ifcopenshell.api.run("unit.unassign_unit", self.file, units=[unit])
assert project.UnitsInContext is None
def test_doing_nothing_if_the_unit_is_not_assigned(self):
unit = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="FOO")
unit = ifcopenshell.api.run("unit.add_monetary_unit", self.file, currency="USD")
assert ifcopenshell.api.run("unit.unassign_unit", self.file, units=[unit]) is None
class TestUnassignUnitIFC2X3(test.bootstrap.IFC2X3, TestUnassignUnit):
pass