diff options
-rw-r--r-- | tests/Properties.hs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/Properties.hs b/tests/Properties.hs index 452267f..589275a 100644 --- a/tests/Properties.hs +++ b/tests/Properties.hs @@ -1,6 +1,7 @@ {-# OPTIONS -fglasgow-exts #-} import StackSet hiding (filter) +import qualified StackSet as S (filter) import Operations (tile) import Debug.Trace @@ -402,6 +403,15 @@ prop_delete_focus_not_end (x :: T) = Just n = peek x -- --------------------------------------------------------------------- +-- filter + +-- preserve order +prop_filter_order (x :: T) = + case stack $ workspace $ current x of + Nothing -> True + Just s@(Stack i _ _) -> integrate' (S.filter (/= i) s) == filter (/= i) (integrate' (Just s)) + +-- --------------------------------------------------------------------- -- swapUp, swapDown, swapMaster: reordiring windows -- swap is trivially reversible @@ -548,6 +558,8 @@ main = do ,("delete last/focus up", mytest prop_delete_focus_end) ,("delete ~last/focus down", mytest prop_delete_focus_not_end) + ,("filter preserves order", mytest prop_filter_order) + ,("swapMaster: invariant", mytest prop_swap_master_I) ,("swapUp: invariant" , mytest prop_swap_left_I) ,("swapDown: invariant", mytest prop_swap_right_I) |