2021-10-16 16:52:47 +11:00
@material
Feature : Material
2022-03-18 17:24:59 +11:00
Scenario : Load materials
Given a n e m p t y I F C p r o j e c t
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-03-18 17:24:59 +11:00
When I p r e s s " b i m . l o a d _ m a t e r i a l s "
Then n o t h i n g h a p p e n s
Scenario : Disable editing materials
Given a n e m p t y I F C p r o j e c t
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-03-18 17:24:59 +11:00
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
When I p r e s s " b i m . d i s a b l e _ e d i t i n g _ m a t e r i a l s "
Then n o t h i n g h a p p e n s
2022-03-19 22:12:58 +11:00
Scenario : Load materials - then add material
Given a n e m p t y I F C p r o j e c t
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
2024-07-29 17:51:13 +05:00
When I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
Then t h e I F C m a t e r i a l " D e f a u l t " e x i s t s
2022-03-19 22:12:58 +11:00
Scenario : Load materials - then add material set
Given a n e m p t y I F C p r o j e c t
And I s e t " s c e n e . B I M M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
When I p r e s s " b i m . a d d _ m a t e r i a l _ s e t ( s e t _ t y p e = ' I f c M a t e r i a l L a y e r S e t ' ) "
Then n o t h i n g h a p p e n s
2021-10-21 19:40:10 +11:00
Scenario : Add default material
Given a n e m p t y I F C p r o j e c t
2024-07-29 17:51:13 +05:00
When I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
Then t h e I F C m a t e r i a l " D e f a u l t " e x i s t s
2022-03-21 12:04:51 +11:00
Scenario : Remove material set
Given a n e m p t y I F C p r o j e c t
And I s e t " s c e n e . B I M M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
And I p r e s s " b i m . a d d _ m a t e r i a l _ s e t ( s e t _ t y p e = ' I f c M a t e r i a l L a y e r S e t ' ) "
And t h e v a r i a b l e " m a t e r i a l " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l L a y e r S e t ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . r e m o v e _ m a t e r i a l _ s e t ( m a t e r i a l = { m a t e r i a l } ) "
Then n o t h i n g h a p p e n s
2021-11-10 18:01:10 +11:00
2022-11-04 17:02:57 +11:00
Scenario : Assign material - single material
2021-11-10 18:04:54 +11:00
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2021-11-10 18:04:54 +11:00
When I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
2024-07-29 17:51:13 +05:00
Then t h e o b j e c t " I f c W a l l / C u b e " h a s t h e I F C m a t e r i a l " D e f a u l t "
2021-11-10 18:04:54 +11:00
2022-11-04 17:02:57 +11:00
Scenario : Unassign material - single material
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . u n a s s i g n _ m a t e r i a l "
2023-02-02 18:27:08 +11:00
Then t h e o b j e c t " I f c W a l l / C u b e " d o e s n o t h a v e t h e m a t e r i a l " D e f a u l t "
2022-11-04 17:02:57 +11:00
Scenario : Enable editing assigned material - single material
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Disable editing assigned material - single material
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
When I p r e s s " b i m . d i s a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Edit assigned material - single material
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " m a t e r i a l _ s e t " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . e d i t _ a s s i g n e d _ m a t e r i a l ( m a t e r i a l _ s e t = { m a t e r i a l _ s e t } ) "
Then n o t h i n g h a p p e n s
Scenario : Assign material - material layer set
2021-11-10 18:04:54 +11:00
Given a n e m p t y I F C p r o j e c t
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2021-11-10 18:04:54 +11:00
When I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
2023-02-02 18:27:08 +11:00
Then t h e o b j e c t " I f c W a l l T y p e / E m p t y " d o e s n o t h a v e t h e m a t e r i a l " D e f a u l t "
2023-02-28 10:05:22 +11:00
And t h e o b j e c t " I f c W a l l T y p e / E m p t y " h a s a " 1 0 0 " t h i c k l a y e r e d m a t e r i a l c o n t a i n i n g t h e m a t e r i a l " D e f a u l t "
2022-03-22 13:25:26 +11:00
2022-11-04 17:02:57 +11:00
Scenario : Unassign material - material layer set
Given a n e m p t y I F C p r o j e c t
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . u n a s s i g n _ m a t e r i a l "
Then n o t h i n g h a p p e n s
2023-06-21 12:52:55 +05:00
Scenario : Unassign material - removing inherited material
2023-02-04 22:12:28 +11:00
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2023-06-21 12:52:55 +05:00
2023-02-04 22:12:28 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2023-06-21 12:52:55 +05:00
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2023-02-04 22:12:28 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
2023-06-21 12:52:55 +05:00
2023-02-04 22:12:28 +11:00
And t h e o b j e c t " I f c W a l l / C u b e " i s s e l e c t e d
When t h e v a r i a b l e " t y p e " i s " { i f c } . b y _ t y p e ( ' I f c W a l l T y p e ' ) [ 0 ] . i d ( ) "
And I p r e s s " b i m . a s s i g n _ t y p e ( r e l a t i n g _ t y p e = { t y p e } , r e l a t e d _ o b j e c t = ' I f c W a l l / C u b e ' ) "
2023-06-21 12:52:55 +05:00
2023-02-28 10:05:22 +11:00
Then t h e o b j e c t " I f c W a l l / C u b e " h a s a " 1 0 0 " t h i c k l a y e r e d m a t e r i a l c o n t a i n i n g t h e m a t e r i a l " D e f a u l t "
2024-07-31 17:19:56 +05:00
2023-02-04 22:12:28 +11:00
When I p r e s s " b i m . u n a s s i g n _ m a t e r i a l "
2023-06-21 12:52:55 +05:00
Then t h e o b j e c t " I f c W a l l / C u b e " h a s n o I F C m a t e r i a l s
2023-02-04 22:12:28 +11:00
2022-11-04 17:02:57 +11:00
Scenario : Enable editing assigned material - material layer set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2022-11-04 17:02:57 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Disable editing assigned material - material layer set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2022-11-04 17:02:57 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
When I p r e s s " b i m . d i s a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Edit assigned material - material layer set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2022-11-04 17:02:57 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " m a t e r i a l _ s e t " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l L a y e r S e t ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . e d i t _ a s s i g n e d _ m a t e r i a l ( m a t e r i a l _ s e t = { m a t e r i a l _ s e t } ) "
Then n o t h i n g h a p p e n s
Scenario : Assign material - material profile set
2022-07-19 09:46:16 +10:00
Given a n e m p t y I F C p r o j e c t
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-07-19 09:46:16 +10:00
When I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l P r o f i l e S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
2023-02-02 18:27:08 +11:00
Then t h e o b j e c t " I f c W a l l T y p e / E m p t y " d o e s n o t h a v e t h e m a t e r i a l " D e f a u l t "
2023-02-05 15:29:39 +11:00
And t h e o b j e c t " I f c W a l l T y p e / E m p t y " h a s a p r o f i l e d m a t e r i a l c o n t a i n i n g t h e m a t e r i a l " D e f a u l t " a n d p r o f i l e " N e w P r o f i l e "
2022-07-19 09:46:16 +10:00
2022-11-04 17:02:57 +11:00
Scenario : Unassign material - material profile set
Given a n e m p t y I F C p r o j e c t
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l P r o f i l e S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . u n a s s i g n _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Enable editing assigned material - material profile set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2022-11-04 17:02:57 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l P r o f i l e S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Disable editing assigned material - material profile set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2022-11-04 17:02:57 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l P r o f i l e S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
When I p r e s s " b i m . d i s a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Edit assigned material - material profile set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2022-11-04 17:02:57 +11:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l P r o f i l e S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " m a t e r i a l _ s e t " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l P r o f i l e S e t ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . e d i t _ a s s i g n e d _ m a t e r i a l ( m a t e r i a l _ s e t = { m a t e r i a l _ s e t } ) "
Then n o t h i n g h a p p e n s
Scenario : Assign material - material constituent set
2022-07-19 09:46:16 +10:00
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-07-19 09:46:16 +10:00
When I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l C o n s t i t u e n t S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
Then n o t h i n g h a p p e n s
2022-11-04 17:02:57 +11:00
Scenario : Unassign material - material constituent set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l C o n s t i t u e n t S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . u n a s s i g n _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Enable editing assigned material - material constituent set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l C o n s t i t u e n t S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
When I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Disable editing assigned material - material constituent set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l C o n s t i t u e n t S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
When I p r e s s " b i m . d i s a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
Then n o t h i n g h a p p e n s
Scenario : Edit assigned material - material constituent set
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-11-04 17:02:57 +11:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l C o n s t i t u e n t S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " m a t e r i a l _ s e t " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l C o n s t i t u e n t S e t ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . e d i t _ a s s i g n e d _ m a t e r i a l ( m a t e r i a l _ s e t = { m a t e r i a l _ s e t } ) "
Then n o t h i n g h a p p e n s
2022-03-22 13:25:26 +11:00
Scenario : Select by material
Given a n e m p t y I F C p r o j e c t
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-03-22 13:25:26 +11:00
And t h e v a r i a b l e " m a t e r i a l " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . s e l e c t _ b y _ m a t e r i a l ( m a t e r i a l = { m a t e r i a l } ) "
Then n o t h i n g h a p p e n s
2022-05-08 15:48:09 +10:00
Scenario : Expand material category
Given a n e m p t y I F C p r o j e c t
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-05-08 15:48:09 +10:00
When I p r e s s " b i m . e x p a n d _ m a t e r i a l _ c a t e g o r y ( c a t e g o r y = ' ' ) "
Then n o t h i n g h a p p e n s
Scenario : Contract material category
Given a n e m p t y I F C p r o j e c t
And I p r e s s " b i m . l o a d _ m a t e r i a l s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2022-05-08 15:48:09 +10:00
And I p r e s s " b i m . e x p a n d _ m a t e r i a l _ c a t e g o r y ( c a t e g o r y = ' ' ) "
When I p r e s s " b i m . c o n t r a c t _ m a t e r i a l _ c a t e g o r y ( c a t e g o r y = ' ' ) "
Then n o t h i n g h a p p e n s
2023-02-20 11:08:15 +01:00
2023-02-20 17:49:54 +01:00
Scenario : Enable editing material set item
2023-02-20 11:08:15 +01:00
Given a n e m p t y I F C p r o j e c t
And I l o a d t h e d e m o c o n s t r u c t i o n l i b r a r y
When I s e t " s c e n e . B I M M o d e l P r o p e r t i e s . i f c _ c l a s s " t o " I f c C o l u m n T y p e "
And I a d d t h e c o n s t r u c t i o n t y p e
And t h e v a r i a b l e " c o l u m n " i s " { i f c } . b y _ t y p e ( ' I f c C o l u m n ' ) [ 0 ] . i d ( ) "
And t h e o b j e c t " I f c C o l u m n / C o l u m n " i s s e l e c t e d
And t h e v a r i a b l e " c o l u m n _ t y p e " i s " { i f c } . b y _ i d ( { c o l u m n } ) . I s T y p e d B y [ 0 ] . R e l a t i n g T y p e . i d ( ) "
And t h e v a r i a b l e " r e l a t i n g _ m a t e r i a l " i s " { i f c } . b y _ i d ( { c o l u m n _ t y p e } ) . H a s A s s o c i a t i o n s [ 0 ] . R e l a t i n g M a t e r i a l . i d ( ) "
And t h e v a r i a b l e " m a t e r i a l _ p r o f i l e " i s " { i f c } . b y _ i d ( { c o l u m n _ t y p e } ) . H a s A s s o c i a t i o n s [ 0 ] . R e l a t i n g M a t e r i a l . M a t e r i a l P r o f i l e s [ 0 ] . i d ( ) "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
2023-02-20 17:49:54 +01:00
When I p r e s s " b i m . e n a b l e _ e d i t i n g _ m a t e r i a l _ s e t _ i t e m ( m a t e r i a l _ s e t _ i t e m = { m a t e r i a l _ p r o f i l e } ) "
Then n o t h i n g h a p p e n s
2026-03-20 18:03:40 +05:30
Scenario : Edit layer item defaults null IsVentilated to FALSE in UI
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " l a y e r " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l L a y e r ' ) [ 0 ] . i d ( ) "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ m a t e r i a l _ s e t _ i t e m ( m a t e r i a l _ s e t _ i t e m = { l a y e r } ) "
When I e v a l u a t e e x p r e s s i o n " a t t r s = b p y . c o n t e x t . a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ s e t _ i t e m _ a t t r i b u t e s ; i s _ v e n t = n e x t ( a f o r a i n a t t r s i f a . n a m e = = ' I s V e n t i l a t e d ' ) ; a s s e r t i s _ v e n t . e n u m _ v a l u e = = ' F A L S E ' ; a s s e r t i s _ v e n t . i s _ n u l l i s T r u e "
And I p r e s s " b i m . e d i t _ m a t e r i a l _ s e t _ i t e m ( m a t e r i a l _ s e t _ i t e m = { l a y e r } ) "
Then I e v a l u a t e e x p r e s s i o n " a s s e r t { i f c } . b y _ i d ( { l a y e r } ) . I s V e n t i l a t e d i s N o n e "
2023-02-20 17:49:54 +01:00
Scenario : Add material set layer
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2023-02-20 17:49:54 +01:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2023-02-20 17:49:54 +01:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " m a t e r i a l _ s e t " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l L a y e r S e t ' ) [ 0 ] . i d ( ) "
When I p r e s s " b i m . a d d _ l a y e r ( l a y e r _ s e t = { m a t e r i a l _ s e t } ) "
Then n o t h i n g h a p p e n s
Scenario : Remove material set layer
Given a n e m p t y I F C p r o j e c t
And I a d d a c u b e
And t h e o b j e c t " C u b e " i s s e l e c t e d
2025-04-03 17:50:41 +05:00
And I l o o k a t t h e " C l a s s " p a n e l
And I s e t t h e " P r o d u c t s " p r o p e r t y t o " I f c E l e m e n t "
And I s e t t h e " C l a s s " p r o p e r t y t o " I f c W a l l "
And I c l i c k " A s s i g n I F C C l a s s "
2023-06-21 12:04:33 +05:00
2023-02-20 17:49:54 +01:00
And I a d d a n e m p t y
And t h e o b j e c t " E m p t y " i s s e l e c t e d
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ p r o d u c t " t o " I f c E l e m e n t T y p e "
And I s e t " s c e n e . B I M R o o t P r o p e r t i e s . i f c _ c l a s s " t o " I f c W a l l T y p e "
And I p r e s s " b i m . a s s i g n _ c l a s s "
2023-06-21 12:04:33 +05:00
2024-07-29 17:51:13 +05:00
And I p r e s s " b i m . a d d _ m a t e r i a l ( ) "
2023-02-20 17:49:54 +01:00
And I s e t " a c t i v e _ o b j e c t . B I M O b j e c t M a t e r i a l P r o p e r t i e s . m a t e r i a l _ t y p e " t o " I f c M a t e r i a l L a y e r S e t "
And I p r e s s " b i m . a s s i g n _ m a t e r i a l "
2023-06-21 12:04:33 +05:00
2023-02-20 17:49:54 +01:00
And I p r e s s " b i m . e n a b l e _ e d i t i n g _ a s s i g n e d _ m a t e r i a l "
And t h e v a r i a b l e " m a t e r i a l _ s e t " i s " { i f c } . b y _ t y p e ( ' I f c M a t e r i a l L a y e r S e t ' ) [ 0 ] . i d ( ) "
2023-06-21 12:04:33 +05:00
2023-02-20 17:49:54 +01:00
And I p r e s s " b i m . a d d _ l a y e r ( l a y e r _ s e t = { m a t e r i a l _ s e t } ) "
2023-06-21 12:04:33 +05:00
And I p r e s s " b i m . r e m o v e _ l a y e r ( l a y e r = { i f c } . b y _ i d ( { m a t e r i a l _ s e t } ) . M a t e r i a l L a y e r s [ 0 ] . i d ( ) ) "
Then I p r e s s " b i m . r e m o v e _ l a y e r ( l a y e r = { i f c } . b y _ i d ( { m a t e r i a l _ s e t } ) . M a t e r i a l L a y e r s [ 0 ] . i d ( ) ) " a n d e x p e c t e r r o r " E r r o r : A t l e a s t o n e l a y e r m u s t e x i s t "