+ intersect xs ys == V.empty
+ where
+ intersect :: (Eq a) => V.Vector a -> V.Vector a -> V.Vector a
+ intersect ws zs =
+ V.filter (`V.elem` zs) ws
+
+prop_factorial_greater :: Int -> Property
+prop_factorial_greater n =
+ n <= 20 ==> factorial n >= n
+
+
+test_flatten1 :: Assertion
+test_flatten1 =
+ assertEqual "flatten actually works" expected_list actual_list
+ where
+ target = [[[1::Int]], [[2, 3]]]
+ expected_list = [1, 2, 3]
+ actual_list = flatten target
+
+
+misc_tests :: Test.Framework.Test
+misc_tests =
+ testGroup "Misc Tests" [
+ testCase "flatten (1)" test_flatten1 ]
+
+
+misc_properties :: Test.Framework.Test
+misc_properties =
+ testGroup "Misc Properties" [
+ testProperty "factorial greater" prop_factorial_greater ]