Skip to content

Commit d1fe36d

Browse files
committed
Suggestions from code review
1 parent 79edbd5 commit d1fe36d

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

src/app/clusters/thermostat-server/thermostat-server-presets.cpp

+5-7
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ CHIP_ERROR MaximumPresetScenarioCount(Delegate * delegate, PresetScenarioEnum pr
171171
// We exhausted the list trying to find the preset scenario
172172
return CHIP_NO_ERROR;
173173
}
174-
else if (err != CHIP_NO_ERROR)
174+
if (err != CHIP_NO_ERROR)
175175
{
176176
return err;
177177
}
@@ -326,10 +326,6 @@ CHIP_ERROR ThermostatAttrAccess::AppendPendingPreset(Thermostat::Delegate * dele
326326
return CHIP_IM_GLOBAL_STATUS(ConstraintError);
327327
}
328328

329-
// We're going to append this preset, so let's assume a count as though it had already been inserted
330-
size_t presetCount = 1;
331-
size_t presetScenarioCount = 1;
332-
333329
if (preset.GetPresetHandle().IsNull())
334330
{
335331
if (IsBuiltIn(preset))
@@ -381,8 +377,7 @@ CHIP_ERROR ThermostatAttrAccess::AppendPendingPreset(Thermostat::Delegate * dele
381377
}
382378
}
383379

384-
size_t maximumPresetCount = delegate->GetNumberOfPresets();
385-
380+
size_t maximumPresetCount = delegate->GetNumberOfPresets();
386381
size_t maximumPresetScenarioCount = 0;
387382
if (MaximumPresetScenarioCount(delegate, preset.GetPresetScenario(), maximumPresetScenarioCount) != CHIP_NO_ERROR)
388383
{
@@ -403,6 +398,9 @@ CHIP_ERROR ThermostatAttrAccess::AppendPendingPreset(Thermostat::Delegate * dele
403398
// Before adding this preset to the pending presets, if the expected length of the pending presets' list
404399
// exceeds the total number of presets supported, return RESOURCE_EXHAUSTED. Note that the preset has not been appended yet.
405400

401+
// We're going to append this preset, so let's assume a count as though it had already been inserted
402+
size_t presetCount = 1;
403+
size_t presetScenarioCount = 1;
406404
for (uint8_t i = 0; true; i++)
407405
{
408406
PresetStructWithOwnedMembers otherPreset;

src/python_testing/TC_TSTAT_4_2.py

+8-7
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import copy
3030
import logging
3131
import random
32+
from collections import namedtuple
3233

3334
import chip.clusters as Clusters
3435
from chip import ChipDeviceCtrl # Needed before chip.FabricAdmin
@@ -642,20 +643,20 @@ async def test_TC_TSTAT_4_2(self):
642643
self.step("18")
643644
if self.pics_guard(self.check_pics("TSTAT.S.F08") and self.check_pics("TSTAT.S.A0050") and self.check_pics("TSTAT.S.Cfe.Rsp")):
644645

646+
ScenarioHeadroom = namedtuple("ScenarioHeadroom", "presetScenario remaining")
645647
# Generate list of tuples of scenarios and number of remaining presets per scenario allowed
646-
presetScenarioHeadroom = list((presetType.presetScenario,
648+
presetScenarioHeadrooms = list(ScenarioHeadroom(presetType.presetScenario,
647649
presetType.numberOfPresets - presetScenarioCounts.get(presetType.presetScenario, 0)) for presetType in presetTypes)
648650

649-
if len(presetScenarioHeadroom) > 0:
651+
if presetScenarioHeadrooms:
650652
# Find the preset scenario with the smallest number of remaining allowed presets
651-
presetScenarioHeadroom = sorted(presetScenarioHeadroom, key=lambda diff: diff[1])
652-
(presetScenario, headroom) = presetScenarioHeadroom[0]
653+
presetScenarioHeadrooms = sorted(presetScenarioHeadrooms, key=lambda psh: psh.remaining)
654+
presetScenarioHeadroom = presetScenarioHeadrooms[0]
653655

654656
# Add one more preset than is allowed by the preset type
655657
test_presets = copy.deepcopy(current_presets)
656-
for _ in range(0, headroom + 1):
657-
test_presets.append(cluster.Structs.PresetStruct(presetHandle=NullValue, presetScenario=presetScenario,
658-
coolingSetpoint=coolSetpoint, heatingSetpoint=heatSetpoint, builtIn=False))
658+
test_presets.extend([cluster.Structs.PresetStruct(presetHandle=NullValue, presetScenario=presetScenarioHeadroom.presetScenario,
659+
coolingSetpoint=coolSetpoint, heatingSetpoint=heatSetpoint, builtIn=False)] * (presetScenarioHeadroom.remaining + 1))
659660

660661
await self.send_atomic_request_begin_command()
661662

0 commit comments

Comments
 (0)