# 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-OZCONC-1.1] Global Attributes with DUT as Server

PICS:
    - OZCONC.S

config:
    nodeId: 0x12344321
    cluster: "Ozone 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 OZCONC.S.F00(MEA) ensure featuremap has the correct
          bit set"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: OZCONC.S.F00
      response:
          constraints:
              type: bitmap32
              hasMasksSet: [0x1]

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

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

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

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

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

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

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

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

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

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

    - label:
          "Step 3m: Given OZCONC.S.F05(AVG) is not set, ensure featuremap has
          the correct bit clear"
      command: "readAttribute"
      attribute: "FeatureMap"
      PICS: " !OZCONC.S.F05 && !OZCONC.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: OZCONC.S.A0007 && OZCONC.S.F00
      response:
          constraints:
              type: list
              contains: [7]

    - label:
          "Step 4c: Check the optional attribute Uncertainty is excluded from
          AttributeList when OZCONC.S.A0007 is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !OZCONC.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: OZCONC.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 OZCONC.S.F00 (MEA) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !OZCONC.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: OZCONC.S.F04
      response:
          constraints:
              type: list
              contains: [3, 4]

    - label:
          "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are
          excluded from AttributeList when OZCONC.S.F04 (PEA) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !OZCONC.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: OZCONC.S.F05
      response:
          constraints:
              type: list
              contains: [5, 6]

    - label:
          "Step 4i: Check that AverageMeasuredValue and
          AverageMeasuredValueWindow are excluded from AttributeList when
          OZCONC.S.F05 (AVG) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !OZCONC.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: OZCONC.S.F01
      response:
          constraints:
              type: list
              contains: [10]

    - label:
          "Step 4k: Check that LevelValue is excluded from AttributeList when
          OZCONC.S.F01 (LEV) is not set"
      command: "readAttribute"
      attribute: "AttributeList"
      PICS: " !OZCONC.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
