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

PICS:
    - TVOCCONC.S

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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