package Ġcom . cur tis lb . ad vent of code . year 2 0 1 9 . day 0 4 . password Ċ Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ /** Ċ Ġ* ĠTests Ġ[ Has Repeated Digit Generator ]. Ċ Ġ*/ Ċ class ĠHas Repeated Digit Generator Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest With No Repeated Digit () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġgenerator : ĠPassword Generator Ġ= ĠHas Repeated Digit Generator () ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 0 ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 5 ). add Digit ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 2 ). add Digit ( 5 ). add Digit ( 7 ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 9 ). add Digit ( 3 ). add Digit ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 6 ). add Digit ( 0 ). add Digit ( 9 ). add Digit ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 4 ). add Digit ( 7 ). add Digit ( 4 ). add Digit ( 7 ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest With Repeated Digit () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġgenerator : ĠPassword Generator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 4 ). add Digit ( 4 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 1 ). add Digit ( 1 ). add Digit ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 6 ). add Digit ( 6 ). add Digit ( 8 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 4 ). add Digit ( 0 ). add Digit ( 0 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 3 ). add Digit ( 3 ). add Digit ( 3 ). add Digit ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 2 ). add Digit ( 2 ). add Digit ( 2 ). add Digit ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 5 ). add Digit ( 9 ). add Digit ( 9 ). add Digit ( 9 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 8 ). add Digit ( 8 ). add Digit ( 0 ). add Digit ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 4 ). add Digit ( 5 ). add Digit ( 5 ). add Digit ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠHas Repeated Digit Generator (). add Digit ( 7 ). add Digit ( 9 ). add Digit ( 7 ). add Digit ( 7 ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( generator . isValid ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 ), Ġgenerator . next Digits ) ĊĠĠĠ Ġ} Ċ } Ċ