bimstester: features, move application tests from examples to implemented steps

This commit is contained in:
Bernd Hahnebach
2021-12-07 11:44:21 +01:00
parent 455fe80497
commit 3fad28572b
3 changed files with 50 additions and 52 deletions
@@ -1,6 +1,9 @@
use_step_matcher("parse")
from bimtester.features.steps.aggregation import en
use_step_matcher("parse")
from bimtester.features.steps.application import en
use_step_matcher("parse")
from bimtester.features.steps.attributes_psets import en, de
@@ -0,0 +1,47 @@
from behave import step
from bimtester.ifc import IfcStore
from bimtester.lang import _
@step('The IFC file must be exported by application full name "{fullname}"')
def step_impl(context, fullname):
real_fullname = IfcStore.file.by_type("IfcApplication")[0].ApplicationFullName
assert real_fullname == fullname , (
"The IFC file was not exported by application full name {} "
"instead it was exported by application full name {}"
.format(fullname, real_fullname)
)
@step('The IFC file must be exported by application identifier "{identifier}"')
def step_impl(context, identifier):
real_identifier = IfcStore.file.by_type("IfcApplication")[0].ApplicationIdentifier
assert real_identifier == identifier , (
"The IFC file was not exported by application identifier {} "
"instead it was exported by identifier {}"
.format(identifier, real_identifier)
)
@step('The IFC file must be exported by the application version "{version}"')
def step_impl(context, version):
real_version = IfcStore.file.by_type("IfcApplication")[0].Version
assert real_version == version , (
"The IFC file was not exported by application version {} "
"instead it was exported by version {}"
.format(version, real_version)
)
@step('IFC data header must have a file description of "{header_file_description}" such as the new Allplan IFC exporter creates it')
def step_impl(context, header_file_description):
is_header_file_description = IfcStore.file.wrapped_data.header.file_description.description
assert str(is_header_file_description) == header_file_description , (
"The file was not exported by the new ifc exporter in Allplan. File description header: {}"
.format(is_header_file_description)
)
@@ -1,52 +0,0 @@
import gettext
from behave import given
from behave import step
from utils import IfcFile
from bimtester.ifc import IfcStore
from bimtester.lang import _
@step("The IFC file must be exported by application full name {fullname}")
def step_impl(context, fullname):
real_fullname = IfcStore.file.by_type("IfcApplication")[0].ApplicationFullName
assert real_fullname == fullname, (
"The IFC file was not exported by application full name {} "
"instead it was exported by application full name {}".format(fullname, real_fullname)
)
@step("The IFC file must be exported by application identifier {identifier}")
def step_impl(context, identifier):
real_identifier = IfcStore.file.by_type("IfcApplication")[0].ApplicationIdentifier
assert (
real_identifier == identifier
), "The IFC file was not exported by application identifier {} " "instead it was exported by identifier {}".format(
identifier, real_identifier
)
@step("The IFC file must be exported by the application version {version}")
def step_impl(context, version):
real_version = IfcStore.file.by_type("IfcApplication")[0].Version
assert (
real_version == version
), "The IFC file was not exported by application version {} " "instead it was exported by version {}".format(
version, real_version
)
@step(
"IFC data header must have a file description of {header_file_description} such as the new Allplan IFC exporter creates it"
)
def step_impl(context, header_file_description):
is_header_file_description = IfcStore.file.wrapped_data.header.file_description.description
assert (
str(is_header_file_description) == header_file_description
), "The file was not exported by the new ifc exporter in Allplan. File description header: {}".format(
is_header_file_description
)