package Ġcom . fuzzy fun ctors . reduction s . data . deal Ċ Ċ import Ġcom . app mat t us . kotlin fixture . kotlin Fixture Ċ import Ġcom . fuzzy fun ctors . reduction s . core . deal . Deal Ċ import Ġcom . fuzzy fun ctors . reduction s . core . deal . Deal Info Ċ import Ġcom . fuzzy fun ctors . reduction s . data . network . to Core Ċ import Ġio . kot est . core . spec . style . Describe Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . should Not Be Ċ import Ġjava . util . Date Ċ Ċ class ĠDe al Info Response Mapper Test Ġ: ĠDescribe Spec () Ġ{ ĊĊĠĠĠ Ġval Ġdeal Id Ġ= Ġkotlin Fixture (). invoke < String >() ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdescribe (" map Ġto Ġcore Ġdeal Ġinfo ") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" has Ġsale Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Sale Ġ= ĠDe al Info Response Generation . on Sale ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġparse Ġwith Ġsale Ġprice ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġon Sale . to Core ( deal Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . sale Price ĠshouldBe Ġon Sale . game Info . sale Price ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Common Properties ( on Sale , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" does Ġnot Ġhave Ġsale Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnot On Sale Ġ= ĠDe al Info Response Generation . not On Sale ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġparse Ġwithout Ġsale Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġnot On Sale . to Core ( deal Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . sale Price ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Common Properties ( not On Sale , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" has Ġsteam Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Steam Ġ= ĠDe al Info Response Generation . on Steam ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġparse Ġwith Ġsteam Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġon Steam . to Core ( deal Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠDe al . Steam Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠappId Ġ= Ġon Steam . game Info . steam App ID !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrating Text Ġ= Ġon Steam . game Info . steam Rating Text !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrating Count Ġ= Ġon Steam . game Info . steam Rating Count !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrating Percent Ġ= Ġon Steam . game Info . steam Rating Percent !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . steam Data ĠshouldBe Ġexpected ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Common Properties ( on Steam , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" does Ġnot Ġhave Ġsteam Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnot On Steam Ġ= ĠDe al Info Response Generation . not On Steam ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġparse Ġwithout Ġsteam Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġnot On Steam . to Core ( deal Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . steam Data ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Common Properties ( not On Steam , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" has Ġmet acrit ic Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Met acrit ic Ġ= ĠDe al Info Response Generation . on Met acrit ic ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġparse Ġwith Ġmet acrit ic Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġon Met acrit ic . to Core ( deal Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . met acrit ic Data Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Common Properties ( on Met acrit ic , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext (" does Ġnot Ġhave Ġmet acrit ic Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnot On Met acrit ic Ġ= ĠDe al Info Response Generation . not On Met acrit ic ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġparse Ġwithout Ġmet acrit ic Ġdata ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġnot On Met acrit ic . to Core ( deal Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . met acrit ic Data ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Common Properties ( not On Met acrit ic , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġassert Common Properties ( response : ĠDe al Info Response , Ġresult : ĠDe al Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . id ĠshouldBe Ġdeal Id ĊĠĠĠĠĠĠĠ Ġresult . store Id ĠshouldBe Ġresponse . game Info . store ID ĊĠĠĠĠĠĠĠ Ġresult . game Id ĠshouldBe Ġresponse . game Info . game ID ĊĠĠĠĠĠĠĠ Ġresult . title ĠshouldBe Ġresponse . game Info . name ĊĠĠĠĠĠĠĠ Ġresult . normal Price ĠshouldBe Ġresponse . game Info . retail Price ĊĠĠĠĠĠĠĠ Ġresult . release Date ĠshouldBe ĠDate ( response . game Info . release Date ) ĊĠĠĠĠĠĠĠ Ġresult . icon Link ĠshouldBe Ġresponse . game Info . thumb ĊĠĠĠĠĠĠĠ Ġresult . publisher ĠshouldBe Ġresponse . game Info . publisher ĊĠĠĠĠĠĠĠ Ġresult . steam Works ĠshouldBe Ġ( response . game Info . steam works Ġ== Ġ" 1 ") ĊĠĠĠ Ġ} Ċ } Ċ