<commit_before>import Test.Hspec        (Spec, describe, it, shouldReturn)
import Test.Hspec.Runner (configFastFail, defaultConfig, hspecWith)

import Deque (mkDeque, pop, push, shift, unshift)

main :: IO ()
main = hspecWith defaultConfig {configFastFail = True} specs

specs :: Spec
specs = describe "linked-list" $ do

    -- As of 2016-08-10, there was no reference file
    -- for the test cases in `exercism/x-common`.

    it "push pop" $ do
      deque <- mkDeque
      push deque 'a'
      push deque 'b'
      pop deque `shouldReturn` Just 'b'
      pop deque `shouldReturn` Just 'a'

    it "push shift" $ do
      deque <- mkDeque
      push deque 'a'
      push deque 'b'<commit_msg>linked-list: Supress HLint's suggestions to reduce duplication.<commit_after>import Test.Hspec        (Spec, describe, it, shouldReturn)
import Test.Hspec.Runner (configFastFail, defaultConfig, hspecWith)

import Deque (mkDeque, pop, push, shift, unshift)

main :: IO ()
main = hspecWith defaultConfig {configFastFail = True} specs

{-# ANN module "HLint: ignore Reduce duplication" #-}
specs :: Spec
specs = describe "linked-list" $ do

    -- As of 2016-08-10, there was no reference file
    -- for the test cases in `exercism/x-common`.

    it "push pop" $ do
      deque <- mkDeque
      push deque 'a'
      push deque 'b'
      pop deque `shouldReturn` Just 'b'
      pop deque `shouldReturn` Just 'a'

    it "push shift" $ do
      deque <- mkDeque
      push deque 'a'
      push deque 'b'
{'fraction_non_alphanumeric': 0.10762032085561497, 'fraction_numerical': 0.0106951871657754, 'mean_word_length': 2.868217054263566, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6183118', 'n_tokens_mistral': 523, 'n_tokens_neox': 485, 'n_words': 171}