-- | CsSysZ spec
csSysZSpec :: Spec
csSysZSpec = describe "Storable CsSysZ" $ do
    it "has a memory-layout we can handle" $
        sizeOf (undefined :: CsSysZ) == 4 + 1 + 3 + 32 * 6
    it "has matching peek- and poke-implementations" $ property $
        \s@CsSysZ{} ->
            alloca (\p -> poke p s >> peek p) `shouldReturn` s
    it "parses correctly" $ getCsSysz `shouldReturn` csSysz
csSysZSpec :: Spec
csSysZSpec = describe "Storable CsSysZ" $ do
    it "has a memory-layout we can handle" $
        sizeOf (undefined :: CsSysZ) == 4 + 1 + 3 + 32 * 6
    it "has matching peek- and poke-implementations" $ property $
        \s@CsSysZ{} ->
            alloca (\p -> poke p s >> peek p) `shouldReturn` s
    it "parses correctly" $ getCsSysz `shouldReturn` csSysz
csSysZSpec = describe "Storable CsSysZ" $ do
    it "has a memory-layout we can handle" $
        sizeOf (undefined :: CsSysZ) == 4 + 1 + 3 + 32 * 6
    it "has matching peek- and poke-implementations" $ property $
        \s@CsSysZ{} ->
            alloca (\p -> poke p s >> peek p) `shouldReturn` s
    it "parses correctly" $ getCsSysz `shouldReturn` csSysz