package Ġz d . zero . wa ifu . mot iv ator . plugin . person ality Ċ Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . junit . Test Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . alert . Alert Configuration Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . mot ivation . event . Mot ivation Event Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . mot ivation . event . Mot ivation Event Category Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . mot ivation . event . Mot ivation Events Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . person ality . core . em otions . Em otion Core Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . person ality . core . em otions . Mood Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . person ality . core . em otions . Negative Em otion Der ivation Unit . Companion . OTHER _ NEGATIVE _ EM OT IONS Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . settings . Wa ifu Mot iv ator State Ċ import Ġz d . zero . wa ifu . mot iv ator . plugin . tools . toList Ċ import Ġkotlin . random . Random Ċ Ċ class ĠNegative Em otion Core Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġderive Mood Should Return Cal m After Idle Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . IDLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NE UT R AL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . IDLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . IDLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . POSITIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). forEach Indexed Ġ{ Ġindex , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Mood Ġ= ĠM ood . CAL M ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| $ event ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ$ expected Mood Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isEqualTo ( expected Mood ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġderive Mood Should Always Return F ru str ated After Expected Events () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents Before F ru stration Ġ= Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprobability Of F ru stration Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnegative Em otions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOTHER _ NEGATIVE _ EM OT IONS ĊĠĠĠĠĠĠĠ Ġval Ġfru str ated Ġ= ĠM ood . FR U STR ATED . toList () ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated ĊĠĠĠĠĠĠĠ Ġ). forEach Indexed Ġ{ Ġindex , Ġarguments Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . first ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ arguments . first } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ${ arguments . second } Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isIn ( arguments . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Cal m Down After Idle Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents Before F ru stration Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprobability Of F ru stration Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnegative Em otions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOTHER _ NEGATIVE _ EM OT IONS ĊĠĠĠĠĠĠĠ Ġval Ġcal m Ġ= ĠM ood . CAL M . toList () ĊĠĠĠĠĠĠĠ Ġval Ġfru str ated Ġ= ĠM ood . FR U STR ATED . toList () ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . IDLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NE UT R AL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġcal m , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto ĠlistOf ( Mood . FR U STR ATED , ĠM ood . EN R AG ED ) ĊĠĠĠĠĠĠĠ Ġ). forEach Indexed Ġ{ Ġindex , Ġarguments Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . first ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ arguments . first } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ${ arguments . second } Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isIn ( arguments . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġnever Ġreturn Ġfru stration Ġwhen Ġfru stration Ġis Ġdisabled `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Allow F ru stration Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents Before F ru stration Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprobability Of F ru stration Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmotivation Event Ġ= Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnegative Em otions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOTHER _ NEGATIVE _ EM OT IONS . to Typed Array () ĊĠĠĠĠĠĠĠ Ġrepeat ( 4 2 ) Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmotivation Event ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| $ mot ivation Event ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ$ OTHER _ NEGATIVE _ EM OT IONS Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isIn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* negative Em otions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġderive Mood Should Return Never Return F ru str ated When Probability Is Zero () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents Before F ru stration Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprobability Of F ru stration Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmotivation Event Ġ= Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnegative Em otions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOTHER _ NEGATIVE _ EM OT IONS . to Typed Array () ĊĠĠĠĠĠĠĠ Ġrepeat ( 4 2 ) Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmotivation Event ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| $ mot ivation Event ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ$ OTHER _ NEGATIVE _ EM OT IONS Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isIn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* negative Em otions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` fr ustration Ġshould Ġev olve Ġinto Ġr age `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Random Ġ= Ġmock k < Random >() ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents Before F ru stration Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprobability Of F ru stration Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Random ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmock Random . nextInt ( 1 , Ġ 1 0 0 ) Ġ} Ġreturns Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġmock Random . nextInt ( 2 ) Ġ} Ġreturns Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġval Ġfru str ated Ġ= ĠM ood . FR U STR ATED . toList () ĊĠĠĠĠĠĠĠ Ġval Ġen r aged Ġ= ĠM ood . EN R AG ED . toList () ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto ĠOTHER _ NEGATIVE _ EM OT IONS [ 1 ]. toList (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġen r aged , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġen r aged , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġen r aged ĊĠĠĠĠĠĠĠ Ġ). forEach Indexed Ġ{ Ġindex , Ġarguments Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . first ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ arguments . first } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ${ arguments . second } Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isIn ( arguments . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` fr ustration Ġshould Ġcool Ġdown Ġwhen Ġpositive Ġevents Ġhappen `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġemotion Core Ġ= ĠEm otion Core ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW a ifu Mot iv ator State (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents Before F ru stration Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprobability Of F ru stration Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnegative Em otions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOTHER _ NEGATIVE _ EM OT IONS ĊĠĠĠĠĠĠĠ Ġval Ġfru str ated Ġ= ĠM ood . FR U STR ATED . toList () ĊĠĠĠĠĠĠĠ Ġval Ġre lie ved Ġ= ĠM ood . RE LI E VED . toList () ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TASK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . POSITIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġre lie ved , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . POSITIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto ĠlistOf ( Mood . H AP PY , ĠM ood . EX C IT ED ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġnegative Em otions , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . POSITIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġre lie ved , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto Ġfru str ated , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Mot ivation Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Events . TEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotivation Event Category . NEGATIVE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġto ĠlistOf ( Mood . FR U STR ATED , ĠM ood . EN R AG ED ) ĊĠĠĠĠĠĠĠ Ġ). forEach Indexed Ġ{ Ġindex , Ġarguments Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġderive Mood Ġ= Ġemotion Core . derive Mood ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . first ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġderive Mood ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Fail Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" At Ġindex Ġ#$ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ arguments . first } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| did Ġnot Ġcreate Ġ${ arguments . second } Ġbut Ġdid Ġ$ derive Mood ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). isIn ( arguments . second ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval Ġproject Mock Ġ= Ġmock k < Project >() Ċ Ċ internal Ġfun Ġbuild Mot ivation Event ( ĊĠĠĠ Ġtype : ĠMotivation Events , ĊĠĠĠ Ġcategory : ĠMotivation Event Category Ċ ): ĠMotivation Event Ġ{ ĊĠĠĠ Ġreturn ĠMotivation Event ( ĊĠĠĠĠĠĠĠ Ġtype , ĊĠĠĠĠĠĠĠ Ġcategory , ĊĠĠĠĠĠĠĠ Ġ" æĪĳ ä¼ļ åĨĻ æ±ī åŃĹ ", ĊĠĠĠĠĠĠĠ Ġproject Mock ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAlert Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Alert Enabled Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Display Notification Enabled Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Sound Alert Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ