# Copyright (c) 2021 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.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default

name:
    4.2.1. [TC-LTIME-2.1] Read and Write Time Format Localization Cluster
    Attributes [DUT as Client]

PICS:
    - LTIME.C

config:
    nodeId: 0x12344321
    cluster: "Basic"
    endpoint: 0

tests:
    - label: "DUT reads HourFormat attribute from TH"
      PICS: LTIME.C.A0000
      verification: |
          ./chip-tool timeformatlocalization read hour-format 1 0
          Verify in DUT as client side: Verify that the HourFormat attribute value

          [1657106866.828694][4891:4896] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 2232855152
          [1657106866.828763][4891:4896] CHIP:TOO:   HourFormat: 0
      disabled: true

    - label:
          "If (LTIME.C.A0000.12HR) DUT writes 0 to HourFormat attribute on TH"
      PICS: LTIME.C.A0000.12HR
      verification: |
          ./chip-tool timeformatlocalization write hour-format 0 1 0
          Verify in DUT as client side: verify that  TH sends a success response

          [1657106893.878113][4897:4902] CHIP:DMG: WriteResponseMessage =
          [1657106893.878138][4897:4902] CHIP:DMG: {
          [1657106893.878161][4897:4902] CHIP:DMG:         AttributeStatusIBs =
          [1657106893.878213][4897:4902] CHIP:DMG:         [
          [1657106893.878241][4897:4902] CHIP:DMG:                 AttributeStatusIB =
          [1657106893.878277][4897:4902] CHIP:DMG:                 {
          [1657106893.878306][4897:4902] CHIP:DMG:                         AttributePathIB =
          [1657106893.878343][4897:4902] CHIP:DMG:                         {
          [1657106893.878391][4897:4902] CHIP:DMG:                                 Endpoint = 0x0,
          [1657106893.878430][4897:4902] CHIP:DMG:                                 Cluster = 0x2c,
          [1657106893.878466][4897:4902] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1657106893.878501][4897:4902] CHIP:DMG:                         }
          [1657106893.878537][4897:4902] CHIP:DMG:
          [1657106893.878568][4897:4902] CHIP:DMG:                         StatusIB =
          [1657106893.878599][4897:4902] CHIP:DMG:                         {
          [1657106893.878630][4897:4902] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657106893.878661][4897:4902] CHIP:DMG:                         },
          [1657106893.878692][4897:4902] CHIP:DMG:
          [1657106893.878717][4897:4902] CHIP:DMG:                 },
          [1657106893.878746][4897:4902] CHIP:DMG:
          [1657106893.878769][4897:4902] CHIP:DMG:         ],
          [1657106893.878798][4897:4902] CHIP:DMG:
          [1657106893.878822][4897:4902] CHIP:DMG:         InteractionModelRevision = 1
          [1657106893.878844][4897:4902] CHIP:DMG: }
          [1657106893.878914][4897:4902] CHIP:DMG: WriteClient moving to [AwaitingDe]
      disabled: true

    - label: "DUT reads HourFormat attribute from TH"
      PICS: LTIME.C.A0000
      verification: |
          ./chip-tool timeformatlocalization read hour-format 1 0
          Verify in DUT as client side: Verify that the HourFormat attribute value as 0

          [1657106866.828694][4891:4896] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 2232855152
          [1657106866.828763][4891:4896] CHIP:TOO:   HourFormat: 0
      disabled: true

    - label:
          "If (LTIME.C.A0000.24HR) DUT writes 1 to HourFormat attribute on TH"
      PICS: LTIME.C.A0000.24HR
      verification: |
          ./chip-tool timeformatlocalization write hour-format 1 1 0
          Verify in DUT as client side: verify that  TH sends a success response

          [1657106989.102102][4907:4912] CHIP:DMG: WriteResponseMessage =
          [1657106989.102137][4907:4912] CHIP:DMG: {
          [1657106989.102178][4907:4912] CHIP:DMG:         AttributeStatusIBs =
          [1657106989.102220][4907:4912] CHIP:DMG:         [
          [1657106989.102263][4907:4912] CHIP:DMG:                 AttributeStatusIB =
          [1657106989.102304][4907:4912] CHIP:DMG:                 {
          [1657106989.102350][4907:4912] CHIP:DMG:                         AttributePathIB =
          [1657106989.102450][4907:4912] CHIP:DMG:                         {
          [1657106989.102494][4907:4912] CHIP:DMG:                                 Endpoint = 0x0,
          [1657106989.102554][4907:4912] CHIP:DMG:                                 Cluster = 0x2c,
          [1657106989.102611][4907:4912] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1657106989.102658][4907:4912] CHIP:DMG:                         }
          [1657106989.102718][4907:4912] CHIP:DMG:
          [1657106989.102768][4907:4912] CHIP:DMG:                         StatusIB =
          [1657106989.102810][4907:4912] CHIP:DMG:                         {
          [1657106989.102865][4907:4912] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657106989.102907][4907:4912] CHIP:DMG:                         },
          [1657106989.102960][4907:4912] CHIP:DMG:
          [1657106989.103008][4907:4912] CHIP:DMG:                 },
          [1657106989.103049][4907:4912] CHIP:DMG:
          [1657106989.103091][4907:4912] CHIP:DMG:         ],
          [1657106989.103132][4907:4912] CHIP:DMG:
          [1657106989.103174][4907:4912] CHIP:DMG:         InteractionModelRevision = 1
          [1657106989.103206][4907:4912] CHIP:DMG: }
          [1657106989.103306][4907:4912] CHIP:DMG: WriteClient moving to [AwaitingDe]
      disabled: true

    - label: "DUT reads HourFormat attribute on TH"
      PICS: LTIME.C.A0000
      verification: |
          ./chip-tool timeformatlocalization read hour-format 1 0
          Verify in DUT as client side: Verify that  HourFormat attribute value as 1
          [1654605170.332304][7266:7271] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 3185003975
          [1654605170.332388][7266:7271] CHIP:TOO:   HourFormat: 1
          [1654605170.332493][7266:7271] CHIP:EM: Sending Standalone Ack for MessageCounter:6045450 on exchange 44106i
      disabled: true

    - label: "DUT reads ActiveCalendarType attribute on TH"
      PICS: LTIME.C.A0001
      verification: |
          ./chip-tool timeformatlocalization read active-calendar-type 1 0
          Verify in DUT as client side: Verify that  the ActiveCalendarType attribute value

          [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154
          [1657107039.005112][4917:4922] CHIP:TOO:   ActiveCalendarType: 0
      disabled: true

    - label: "DUT reads SupportedCalendarTypes attribute TH"
      PICS: LTIME.C.A0002
      verification: |
          ./chip-tool timeformatlocalization read supported-calendar-types 1 0
          Verify in DUT as client side: Verify that  SupportedCalendarTypes attribute value

          [1657107056.982007][4924:4929] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0002 DataVersion: 2232855154
          [1657107056.982095][4924:4929] CHIP:TOO:   SupportedCalendarTypes: 12 entries
          [1657107056.982148][4924:4929] CHIP:TOO:     [1]: 0
          [1657107056.982181][4924:4929] CHIP:TOO:     [2]: 1
          [1657107056.982211][4924:4929] CHIP:TOO:     [3]: 2
          [1657107056.982241][4924:4929] CHIP:TOO:     [4]: 3
          [1657107056.982270][4924:4929] CHIP:TOO:     [5]: 4
          [1657107056.982299][4924:4929] CHIP:TOO:     [6]: 5
          [1657107056.982329][4924:4929] CHIP:TOO:     [7]: 6
          [1657107056.982358][4924:4929] CHIP:TOO:     [8]: 8
          [1657107056.982402][4924:4929] CHIP:TOO:     [9]: 9
          [1657107056.982434][4924:4929] CHIP:TOO:     [10]: 10
          [1657107056.982464][4924:4929] CHIP:TOO:     [11]: 11
          [1657107056.982494][4924:4929] CHIP:TOO:     [12]: 7
      disabled: true

    - label:
          "DUT writes value in PIXIT.LTIME.SCT to ActiveCalendarType attribute
          on TH, followed by reading the ActiveCalendarType attribute from TH"
      PICS: LTIME.C.A0001
      verification: |
          ./chip-tool timeformatlocalization write active-calendar-type 0 1 0
          Verify in DUT as client side: verify that  TH sends a success response

          [1657107074.760869][4932:4937] CHIP:DMG: WriteResponseMessage =
          [1657107074.760897][4932:4937] CHIP:DMG: {
          [1657107074.760919][4932:4937] CHIP:DMG:         AttributeStatusIBs =
          [1657107074.760950][4932:4937] CHIP:DMG:         [
          [1657107074.760975][4932:4937] CHIP:DMG:                 AttributeStatusIB =
          [1657107074.761009][4932:4937] CHIP:DMG:                 {
          [1657107074.761035][4932:4937] CHIP:DMG:                         AttributePathIB =
          [1657107074.761068][4932:4937] CHIP:DMG:                         {
          [1657107074.761102][4932:4937] CHIP:DMG:                                 Endpoint = 0x0,
          [1657107074.761137][4932:4937] CHIP:DMG:                                 Cluster = 0x2c,
          [1657107074.761171][4932:4937] CHIP:DMG:                                 Attribute = 0x0000_0001,
          [1657107074.761203][4932:4937] CHIP:DMG:                         }
          [1657107074.761239][4932:4937] CHIP:DMG:
          [1657107074.761270][4932:4937] CHIP:DMG:                         StatusIB =
          [1657107074.761302][4932:4937] CHIP:DMG:                         {
          [1657107074.761334][4932:4937] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1657107074.761366][4932:4937] CHIP:DMG:                         },
          [1657107074.761397][4932:4937] CHIP:DMG:
          [1657107074.761422][4932:4937] CHIP:DMG:                 },
          [1657107074.761452][4932:4937] CHIP:DMG:
          [1657107074.761475][4932:4937] CHIP:DMG:         ],
          [1657107074.761504][4932:4937] CHIP:DMG:
          [1657107074.761528][4932:4937] CHIP:DMG:         InteractionModelRevision = 1
          [1657107074.761551][4932:4937] CHIP:DMG: }
          [1657107074.761621][4932:4937] CHIP:DMG: WriteClient moving to [AwaitingDe]

          ./chip-tool timeformatlocalization read active-calendar-type 1 0
          Verify in DUT as client side: Verify that the  ActiveCalendarType attribute value as 0

          [1657107039.005036][4917:4922] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2232855154
          [1657107039.005112][4917:4922] CHIP:TOO:   ActiveCalendarType: 0
      disabled: true

    - label: "Repeat step 8 for all the values in PIXIT.LTIME.SCT"
      PICS: LTIME.C.A0001
      verification: |
          Repeat the test step 8 for below mentioned values 1, 2,3, 4, 5, 6,7, 8, 9,10 and 11 and verify that TH receives the write command and updates the respective value. Verify that TH reads ActiveCalendarType attribute value and it is the same as the value that was set before
      disabled: true
