rtcm-0.2.5: test/Test/Data/RTCM3/Antennas.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS -fno-warn-orphans #-}
-- |
-- Module: Test.Data.RTCM3.Antennas
-- Copyright: (c) 2015 Swift Navigation
-- License: BSD3
-- Maintainer: Swift Navigation <dev@swiftnav.com>
--
-- Test Antennas module for RTCM3.
module Test.Data.RTCM3.Antennas
( tests
) where
import BasicPrelude
import Data.Binary
import Data.RTCM3
import Test.Data.RTCM3.Test
import Test.Tasty
import Test.Tasty.QuickCheck
instance Arbitrary AntennaReference where
arbitrary = do
_antennaReference_num <- arbitraryWord 12
_antennaReference_station <- arbitraryWord 12
_antennaReference_gps <- arbitrary
_antennaReference_glonass <- arbitrary
_antennaReference_computed <- arbitrary
_antennaReference_ecef_x <- arbitraryInt 38
_antennaReference_oscillator <- arbitrary
_antennaReference_ecef_y <- arbitraryInt 38
_antennaReference_quarterCycle <- arbitraryWord 2
_antennaReference_ecef_z <- arbitraryInt 38
pure AntennaReference {..}
instance Arbitrary ExtAntennaReference where
arbitrary = do
_extAntennaReference_height <- arbitraryWord 16
pure ExtAntennaReference {..}
instance Arbitrary AntennaDescriptor where
arbitrary = do
_antennaDescriptor_num <- arbitraryWord 12
_antennaDescriptor_station <- arbitraryWord 12
_antennaDescriptor_n <- arbitraryWord 8
_antennaDescriptor_descriptors <- replicateM (fromIntegral _antennaDescriptor_n) $ arbitraryWord 8
_antennaDescriptor_setup <- arbitraryWord 8
pure AntennaDescriptor {..}
instance Arbitrary ExtAntennaDescriptor where
arbitrary = do
_extAntennaDescriptor_n <- arbitraryWord 8
_extAntennaDescriptor_serialNumbers <- replicateM (fromIntegral _extAntennaDescriptor_n) $ arbitraryWord 8
pure ExtAntennaDescriptor {..}
instance Arbitrary ReceiverDescriptor where
arbitrary = do
_receiverDescriptor_n <- arbitraryWord 8
_receiverDescriptor_descriptors <- replicateM (fromIntegral _receiverDescriptor_n) $ arbitraryWord 8
_receiverDescriptor_m <- arbitraryWord 8
_receiverDescriptor_firmwareVersions <- replicateM (fromIntegral _receiverDescriptor_m) $ arbitraryWord 8
_receiverDescriptor_l <- arbitraryWord 8
_receiverDescriptor_serialNumbers <- replicateM (fromIntegral _receiverDescriptor_l) $ arbitraryWord 8
pure ReceiverDescriptor {..}
instance Arbitrary Msg1005 where
arbitrary = Msg1005 <$> arbitrary
instance Arbitrary Msg1006 where
arbitrary = Msg1006 <$> arbitrary <*> arbitrary
instance Arbitrary Msg1007 where
arbitrary = Msg1007 <$> arbitrary
instance Arbitrary Msg1008 where
arbitrary = Msg1008 <$> arbitrary <*> arbitrary
instance Arbitrary Msg1033 where
arbitrary = Msg1033 <$> arbitrary <*> arbitrary <*> arbitrary
testMsg1005 :: TestTree
testMsg1005 =
testProperty "Roundtrip Msg1005" $ \m ->
decode (encode m) == (m :: Msg1005)
testMsg1006 :: TestTree
testMsg1006 =
testProperty "Roundtrip Msg1006" $ \m ->
decode (encode m) == (m :: Msg1006)
testMsg1007 :: TestTree
testMsg1007 =
testProperty "Roundtrip Msg1007" $ \m ->
decode (encode m) == (m :: Msg1007)
testMsg1008 :: TestTree
testMsg1008 =
testProperty "Roundtrip Msg1008" $ \m ->
decode (encode m) == (m :: Msg1008)
testMsg1033 :: TestTree
testMsg1033 =
testProperty "Roundtrip Msg1033" $ \m ->
decode (encode m) == (m :: Msg1033)
tests :: TestTree
tests =
testGroup "Antennas tests"
[ testMsg1005
, testMsg1006
, testMsg1007
, testMsg1008
, testMsg1033
]