Specifications:

  • Traffic Light Controller Signal Plan currently active is read with S0014

    Verify status S0014 current time plan

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    11
    12
    13
    14
    15
    16
    17
    18
    # File 'spec/site/tlc/signal_plans_spec.rb', line 11
    
    Validator::Site.connected do |task,supervisor,site|
            if RSMP::Proxy.version_meets_requirement?( site.sxl_version, '>=1.1' )
              status_list = { S0014: [:status,:source] }
            else
              status_list = { S0014: [:status] }
            end
            request_status_and_confirm site, "current time plan", status_list
          end
  • Traffic Light Controller Signal Plan currently active is set with M0002

    Verify that we change time plan (signal program) We try switching all programs configured

    1. Given the site is connected

    2. Verify that there is a Validator.get_config(‘validator’) with a time plan

    3. Send command to switch time plan

    4. Wait for status “Current timeplan” = requested time plan

    
    
    29
    30
    31
    32
    33
    34
    # File 'spec/site/tlc/signal_plans_spec.rb', line 29
    
    plans = Validator.get_config('items','plans')
          skip("No time plans configured") if plans.nil? || plans.empty?
          Validator::Site.connected do |task,supervisor,site|
            prepare task, site
            plans.each { |plan| switch_plan plan }
          end
  • Traffic Light Controller Signal Plan list size is read with S0018

    Verify status S0018 number of time plans Deprecated from 1.2, use S0022 instead.

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    44
    45
    46
    47
    # File 'spec/site/tlc/signal_plans_spec.rb', line 44
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "number of time plans",
              { S0018: [:number] }
          end
  • Traffic Light Controller Signal Plan list is read with S0022

    Verify status S0022 list of time plans

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    56
    57
    58
    59
    # File 'spec/site/tlc/signal_plans_spec.rb', line 56
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "list of time plans",
              { S0022: [:status] }
          end
  • Traffic Light Controller Signal Plan week table is read with S0026

    Verify status S0026 week time table

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    68
    69
    70
    71
    # File 'spec/site/tlc/signal_plans_spec.rb', line 68
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "week time table",
              { S0026: [:status] }
          end
  • Traffic Light Controller Signal Plan week table is set with M0016
    1. Verify connection

    2. Send control command to set week_table

    3. Wait for status = true

    
    
    78
    79
    80
    81
    82
    # File 'spec/site/tlc/signal_plans_spec.rb', line 78
    
    Validator::Site.connected do |task,supervisor,site|
            status = "0-1,6-2"
            prepare task, site
            set_week_table status
          end
  • Traffic Light Controller Signal Plan day table is read with S0027

    Verify status S0027 time tables

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    91
    92
    93
    94
    # File 'spec/site/tlc/signal_plans_spec.rb', line 91
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "command table",
              { S0027: [:status] }
          end
  • Traffic Light Controller Signal Plan day table is set with M0017
    1. Verify connection

    2. Send control command to set time_table

    3. Wait for status = true

    
    
    101
    102
    103
    104
    105
    # File 'spec/site/tlc/signal_plans_spec.rb', line 101
    
    Validator::Site.connected do |task,supervisor,site|
            status = "12-1-12-59,1-0-23-12"
            prepare task, site
            set_day_table status
          end
  • Traffic Light Controller Signal Plan version is read with S0097

    Verify status S0097 version of traffic program

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    114
    115
    116
    117
    # File 'spec/site/tlc/signal_plans_spec.rb', line 114
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "version of traffic program",
              { S0097: [:timestamp,:checksum] }
          end
  • Traffic Light Controller Signal Plan M0018 set cycle time
    1. Verify connection

    2. Send control command to set cycle time

    3. Wait for status = true

    
    
    124
    125
    126
    127
    128
    129
    # File 'spec/site/tlc/signal_plans_spec.rb', line 124
    
    Validator::Site.connected do |task,supervisor,site|
            status = 5
            plan = 0
            prepare task, site
            set_cycle_time status, plan
          end
  • Traffic Light Controller Signal Plan dynamic bands are read with S0023

    Verify status S0023 command table

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    138
    139
    140
    141
    # File 'spec/site/tlc/signal_plans_spec.rb', line 138
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "command table",
              { S0023: [:status] }
          end
  • Traffic Light Controller Signal Plan dynamic bands are set with M0014
    1. Verify connection

    2. Send control command to set dynamic_bands

    3. Wait for status = true

    
    
    148
    149
    150
    151
    152
    153
    # File 'spec/site/tlc/signal_plans_spec.rb', line 148
    
    Validator::Site.connected do |task,supervisor,site|
            plan = "1"
            status = "1-12"
            prepare task, site
            set_dynamic_bands plan, status
          end
  • Traffic Light Controller Signal Plan dynamic bands values can be changed and read back
    1. Given the site is connected

    2. Read dynamic band

    3. Set dynamic band to 2x previous value

    4. Read band to confirm

    5. Set dynamic band to previous value

    6. Read dynamic band to confirm

    
    
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    # File 'spec/site/tlc/signal_plans_spec.rb', line 164
    
    Validator::Site.connected do |task,supervisor,site|
            prepare task, site
            plan = 1
            band = 3
    
            value = get_dynamic_bands(plan, band) || 0
            expect( value ).to be_a(Integer)
    
            new_value = value + 1
            
            set_dynamic_bands plan, "#{band}-#{new_value}"
            expect( get_dynamic_bands(plan, band) ).to eq(new_value)
    
            set_dynamic_bands plan, "#{band}-#{value}"
            expect( get_dynamic_bands(plan, band) ).to eq(value)
          end
  • Traffic Light Controller Signal Plan timeout for dynamic bands is set with M0023

    Verify command M0023 timeout of dynamic bands

    1. Verify connection

    2. When we send command to set timeout

    3. Then we should get a confirmation

    4. When we send command to disable timeout

    5. Then we should get a confirmation

    
    
    190
    191
    192
    193
    194
    195
    196
    # File 'spec/site/tlc/signal_plans_spec.rb', line 190
    
    Validator::Site.connected do |task,supervisor,site|
            prepare task, site
            status = 10
            set_timeout_for_dynamic_bands status
            status = 0
            set_timeout_for_dynamic_bands status
          end
  • Traffic Light Controller Signal Plan offset is read with S0024

    Verify status S0024 offset time

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    205
    206
    207
    208
    # File 'spec/site/tlc/signal_plans_spec.rb', line 205
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "offset time",
              { S0024: [:status] }
          end
  • Traffic Light Controller Signal Plan offset is set with M0015
    1. Verify connection

    2. Send control command to set dynamic_bands

    3. Wait for status = true

    
    
    215
    216
    217
    218
    219
    220
    # File 'spec/site/tlc/signal_plans_spec.rb', line 215
    
    Validator::Site.connected do |task,supervisor,site|
            plan = 1
            status = 99
            prepare task, site
            set_offset status, plan
          end
  • Traffic Light Controller Signal Plan cycle time is read with S0028

    Verify status S0028 cycle time

    1. Given the site is connected

    2. Request status

    3. Expect status response before timeout

    
    
    229
    230
    231
    232
    # File 'spec/site/tlc/signal_plans_spec.rb', line 229
    
    Validator::Site.connected do |task,supervisor,site|
            request_status_and_confirm site, "cycle time",
              { S0028: [:status] }
          end
  • Traffic Light Controller Signal Plan cycle time is set with M0018
    1. Verify connection

    2. Send control command to set cycle time

    3. Wait for status = true

    
    
    239
    240
    241
    242
    243
    244
    # File 'spec/site/tlc/signal_plans_spec.rb', line 239
    
    Validator::Site.connected do |task,supervisor,site|
            status = 5
            plan = 0
            prepare task, site
            set_cycle_time status, plan
          end