# Copyright (c) 2023 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: 145.1.1. [TC-RNCONC-1.1] Global Attributes with DUT as Server

PICS:
    - RNCONC.S

config:
    nodeId: 0x12344321
    cluster: "Radon Concentration Measurement"
    endpoint: 1

tests:
    - label:
          "Step 1: Commission DUT to TH (can be skipped if done in a preceding
          test)."
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label: "Step 2: TH reads from the DUT the ClusterRevision attribute."
      command: "readAttribute"
      attribute: "ClusterRevision"
      response:
          value: 3
          constraints:
              type: int16u

    - label:
          "Step 3a: TH reads from the DUT the FeatureMap attribute and check for
          either bit 0 or 1 set"
      command: "readAttribute"
      attribute: "FeatureMap"
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x03]

    - label:
          "Step 3b: Given RNCONC.S.F00(MEA) ensure featuremap has the correct
          bit set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: RNCONC.S.F00
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x1]

    - label:
          "Step 3c: Given RNCONC.S.F00(MEA) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !RNCONC.S.F00 "
      response:
          constraints:
              type: bitmap32
              hasMasksClear: [0x1]

    - label:
          "Step 3d: Given RNCONC.S.F01(LEV) ensure featuremap has the correct
          bit set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: RNCONC.S.F01
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x2]

    - label:
          "Step 3e: Given RNCONC.S.F01(LEV) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !RNCONC.S.F01 "
      response:
          constraints:
              type: bitmap32
              hasMasksClear: [0x2]

    - label:
          "Step 3f: Given RNCONC.S.F02(MED) ensure featuremap has the correct
          bit set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: RNCONC.S.F02 && RNCONC.S.F01
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x4, 0x2]

    - label:
          "Step 3g: Given RNCONC.S.F02(MED) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !RNCONC.S.F02 && !RNCONC.S.F01"
      response:
          constraints:
              type: bitmap32
              hasMasksClear: [0x4]

    - label:
          "Step 3h: Given RNCONC.S.F03(CRI) ensure featuremap has the correct
          bits set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: RNCONC.S.F03 && RNCONC.S.F01
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x8, 0x2]

    - label:
          "Step 3i: Given RNCONC.S.F03(CRI) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !RNCONC.S.F03 && !RNCONC.S.F01"
      response:
          constraints:
              type: bitmap32
              hasMasksClear: [0x8]

    - label:
          "Step 3j: Given RNCONC.S.F04(PEA) ensure featuremap has the correct
          bits set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: RNCONC.S.F04 && RNCONC.S.F00
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x10, 0x1]

    - label:
          "Step 3k: Given RNCONC.S.F04(PEA) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !RNCONC.S.F04 && RNCONC.S.F00"
      response:
          constraints:
              type: bitmap32
              hasMasksClear: [0x10]

    - label:
          "Step 3l: Given RNCONC.S.F05(AVG) ensure featuremap has the correct
          bits set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: RNCONC.S.F05 && RNCONC.S.F00
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x20, 0x1]

    - label:
          "Step 3m: Given RNCONC.S.F05(AVG) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !RNCONC.S.F05 && !RNCONC.S.F00 "
      response:
          constraints:
              type: bitmap32
              hasMasksClear: [0x20]

    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: PICS_EVENT_LIST_ENABLED
      response:
          constraints:
              type: list
              contains: [9, 65528, 65529, 65530, 65531, 65532, 65533]

    - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: "!PICS_EVENT_LIST_ENABLED"
      response:
          constraints:
              type: list
              contains: [9, 65528, 65529, 65531, 65532, 65533]

    - label:
          "Step 4b: TH reads the optional attribute Uncertainty in AttributeList"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: RNCONC.S.A0007 && RNCONC.S.F00
      response:
          constraints:
              type: list
              contains: [7]

    - label:
          "Step 4c: Check the optional attribute Uncertainty is excluded from
          AttributeList when RNCONC.S.A0007 is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !RNCONC.S.A0007 "
      response:
          constraints:
              type: list
              excludes: [7]

    - label:
          "Step 4d: TH reads the optional, feature dependent attributes
          MeasuredValue, MinMeasuredValue, MaxMeasuredValue and Measurement Unit
          in AttributeList"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: RNCONC.S.F00
      response:
          constraints:
              type: list
              contains: [0, 1, 2, 8]

    - label:
          "Step 4e: Check that MeasuredValue, MinMeasuredValue,
          MaxMeasuredValue, Measurement Unit and Uncertainty are excluded from
          AttributeList when RNCONC.S.F00 (MEA) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !RNCONC.S.F00 "
      response:
          constraints:
              type: list
              excludes: [0, 1, 2, 7, 8]

    - label:
          "Step 4f: TH reads the optional, feature dependent attributes
          PeakMeasuredValue & PeakMeasuredValueWindow in AttributeList"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: RNCONC.S.F04
      response:
          constraints:
              type: list
              contains: [3, 4]

    - label:
          "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are
          excluded from AttributeList when RNCONC.S.F04 (PEA) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !RNCONC.S.F04 "
      response:
          constraints:
              type: list
              excludes: [3, 4]

    - label:
          "Step 4h: TH reads the optional, feature dependent attributes
          AverageMeasuredValue AverageMeasuredValueWindow in AttributeList"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: RNCONC.S.F05
      response:
          constraints:
              type: list
              contains: [5, 6]

    - label:
          "Step 4i: Check that AverageMeasuredValue and
          AverageMeasuredValueWindow are excluded from AttributeList when
          RNCONC.S.F05 (AVG) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !RNCONC.S.F05 "
      response:
          constraints:
              type: list
              excludes: [5, 6]

    - label:
          "Step 4j: TH reads the optional, feature dependent attribute
          LevelValue in AttributeList"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: RNCONC.S.F01
      response:
          constraints:
              type: list
              contains: [10]

    - label:
          "Step 4k: Check that LevelValue is excluded from AttributeList when
          RNCONC.S.F01 (LEV) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !RNCONC.S.F01 "
      response:
          constraints:
              type: list
              excludes: [10]

    - label: "Step 5: TH reads from the DUT the EventList attribute."
      command: "readAttribute"
      attribute: "EventList"
      PICS: PICS_EVENT_LIST_ENABLED
      response:
          value: []
          constraints:
              type: list

    - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute."
      command: "readAttribute"
      attribute: "AcceptedCommandList"
      response:
          value: []
          constraints:
              type: list

    - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute."
      command: "readAttribute"
      attribute: "GeneratedCommandList"
      response:
          value: []
          constraints:
              type: list
