diff options
author | Adam Vogt <vogt.adam@gmail.com> | 2010-04-19 03:49:46 +0200 |
---|---|---|
committer | Adam Vogt <vogt.adam@gmail.com> | 2010-04-19 03:49:46 +0200 |
commit | 1f2f6239a5d942d2cd0f06aeec2d96ab05980600 (patch) | |
tree | 5b789a736dc3a938f4bdb598b8ed0bd591878d2c /tests/test_SwapWorkspaces.hs | |
parent | 21033ad1ff3948c39dab6fca2e003acb6f575cc2 (diff) | |
download | XMonadContrib-1f2f6239a5d942d2cd0f06aeec2d96ab05980600.tar.gz XMonadContrib-1f2f6239a5d942d2cd0f06aeec2d96ab05980600.tar.xz XMonadContrib-1f2f6239a5d942d2cd0f06aeec2d96ab05980600.zip |
Rearrange tests. See test/genMain.hs for instructions.
Ignore-this: 1745e6f1052e84e40153b5b1c0a6e15a
darcs-hash:20100419014946-1499c-4705ec3d27ad26df038a7d72e978e5a137d712b5.gz
Diffstat (limited to 'tests/test_SwapWorkspaces.hs')
-rw-r--r-- | tests/test_SwapWorkspaces.hs | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/tests/test_SwapWorkspaces.hs b/tests/test_SwapWorkspaces.hs deleted file mode 100644 index 148ab97..0000000 --- a/tests/test_SwapWorkspaces.hs +++ /dev/null @@ -1,56 +0,0 @@ -{-# OPTIONS -fglasgow-exts #-} - -import Data.List(find,union) -import Data.Maybe(fromJust) -import Test.QuickCheck - -import XMonad.StackSet -import Properties(T, NonNegative) -- requires tests/Properties.hs from xmonad-core -import XMonad.Actions.SwapWorkspaces - --- Ensures that no "loss of information" can happen from a swap. -prop_double_swap (ss :: T) (t1 :: NonNegative Int) (t2 :: NonNegative Int) = - t1 `tagMember` ss && t2 `tagMember` ss ==> - ss == swap (swap ss) - where swap = swapWorkspaces t1 t2 - --- Degrade nicely when given invalid data. -prop_invalid_swap (ss :: T) (t1 :: NonNegative Int) (t2 :: NonNegative Int) = - not (t1 `tagMember` ss || t2 `tagMember` ss) ==> - ss == swapWorkspaces t1 t2 ss - --- This doesn't pass yet. Probably should. --- prop_half_invalid_swap (ss :: T) (t1 :: NonNegative Int) (t2 :: NonNegative Int) = --- t1 `tagMember` ss && not (t2 `tagMember` ss) ==> --- ss == swapWorkspaces t1 t2 ss - -zipWorkspacesWith :: (Workspace i l a -> Workspace i l a -> n) -> StackSet i l a s sd -> - StackSet i l a s sd -> [n] -zipWorkspacesWith f s t = f (workspace $ current s) (workspace $ current t) : - zipWith f (map workspace $ visible s) (map workspace $ visible t) ++ - zipWith f (hidden s) (hidden t) - --- Swap only modifies the workspaces tagged t1 and t2 -- leaves all others alone. -prop_swap_only_two (ss :: T) (t1 :: NonNegative Int) (t2 :: NonNegative Int) = - t1 `tagMember` ss && t2 `tagMember` ss ==> - and $ zipWorkspacesWith mostlyEqual ss (swapWorkspaces t1 t2 ss) - where mostlyEqual w1 w2 = map tag [w1, w2] `elem` [[t1, t2], [t2, t1]] || w1 == w2 - --- swapWithCurrent stays on current -prop_swap_with_current (ss :: T) (t :: NonNegative Int) = - t `tagMember` ss ==> - layout before == layout after && stack before == stack after - where before = workspace $ current ss - after = workspace $ current $ swapWithCurrent t ss - -main = do - putStrLn "Testing double swap" - quickCheck prop_double_swap - putStrLn "Testing invalid swap" - quickCheck prop_invalid_swap - -- putStrLn "Testing half-invalid swap" - -- quickCheck prop_half_invalid_swap - putStrLn "Testing swap only two" - quickCheck prop_swap_only_two - putStrLn "Testing swap with current" - quickCheck prop_swap_with_current |