fb-util-0.1.0.1: tests/LensTest.hs
{-
Copyright (c) Meta Platforms, Inc. and affiliates.
All rights reserved.
This source code is licensed under the BSD-style license found in the
LICENSE file in the root directory of this source tree.
-}
{-# LANGUAGE TemplateHaskell #-}
module LensTest where
import Control.Lens
import Test.HUnit
import TestRunner
import Util.Lens
data Foo = Foo
{ foo_bar :: Int
}
defFoo :: Foo
defFoo = Foo { foo_bar = 42 }
makeLowerCCLenses ''Foo
readTest :: Test
readTest = TestLabel "read test" $ TestCase $
assertEqual "foo bar baz" 43 (foo_bar $ adjust defFoo)
where
adjust = over fooBar (+ 1)
main :: IO ()
main = testRunner $ TestList
[ readTest
]