Skip to content

Commit ba7a961

Browse files
committed
Force volume to be in range
1 parent a74b968 commit ba7a961

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/scratch/target.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,12 @@ double Target::volume() const
346346
/*! Sets the volume. */
347347
void Target::setVolume(double newVolume)
348348
{
349-
impl->volume = newVolume;
349+
if (newVolume >= 100)
350+
impl->volume = 100;
351+
else if (newVolume <= 0)
352+
impl->volume = 0;
353+
else
354+
impl->volume = newVolume;
350355
}
351356

352357
/*! Returns the engine. */

test/scratch_classes/target_test.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,15 @@ TEST(TargetTest, Volume)
386386
{
387387
Target target;
388388
ASSERT_EQ(target.volume(), 100);
389+
389390
target.setVolume(52.08);
390391
ASSERT_EQ(target.volume(), 52.08);
392+
393+
target.setVolume(101.8);
394+
ASSERT_EQ(target.volume(), 100);
395+
396+
target.setVolume(-4.2);
397+
ASSERT_EQ(target.volume(), 0);
391398
}
392399

393400
TEST(TargetTest, Engine)

0 commit comments

Comments
 (0)