Last active
December 18, 2019 08:42
-
-
Save miquelbeltran/f9fe58bad32355350900d5343fdb8fd4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Use the methods `any` and `every` to compare the user age. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bool anyUserUnder18(Iterable<User> users) { | |
// Implement this method | |
} | |
bool everyUserOver13(Iterable<User> users) { | |
// Implement this method | |
} | |
class User { | |
String name; | |
int age; | |
User( | |
this.name, | |
this.age, | |
); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bool anyUserUnder18(Iterable<User> users) { | |
return users.any((user) => user.age < 18); | |
} | |
bool everyUserOver13(Iterable<User> users) { | |
return users.every((user) => user.age > 13); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var users = [ | |
User('Alice', 21), | |
User('Bob', 17), | |
User('Claire', 52), | |
]; | |
void main() { | |
try { | |
var out = anyUserUnder18(users); | |
if (out == null) { | |
_result(false, [ | |
'Tried running `anyUserUnder18`, but received a null value. ' | |
'Did you implement the method?' | |
]); | |
return; | |
} | |
if (!out) { | |
_result(false, ['Looks like `anyUserUnder18` is wrong. Keep trying!']); | |
return; | |
} | |
} catch (e) { | |
_result(false, | |
['Tried running `anyUserUnder18`, but received an exception: $e']); | |
return; | |
} | |
try { | |
// with only one user older than 18, should be false | |
var out = anyUserUnder18([User('Alice', 21)]); | |
if (out) { | |
_result(false, [ | |
'Looks like `anyUserUnder18` is wrong. What if all users are over 18?' | |
]); | |
return; | |
} | |
} catch (e) { | |
_result(false, [ | |
'Tried running `anyUserUnder18([User("Alice", 21)])`, but received an exception: $e' | |
]); | |
return; | |
} | |
try { | |
var out = everyUserOver13(users); | |
if (out == null) { | |
_result(false, [ | |
'Tried running `everyUserOver13`, but received a null value. ' | |
'Did you implement the method?' | |
]); | |
return; | |
} | |
if (!out) { | |
_result(false, [ | |
'Looks like `everyUserOver13` is wrong. There are no users under 13!' | |
]); | |
return; | |
} | |
} catch (e) { | |
_result(false, [ | |
'Tried running `everyUserOver13`, but received an exception: $e' | |
]); | |
return; | |
} | |
try { | |
var out = everyUserOver13([User('Dan', 12)]); | |
if (out) { | |
_result(false, [ | |
'Looks like `everyUserOver13` is wrong. There is at least one user under 13!' | |
]); | |
return; | |
} | |
} catch (e) { | |
_result(false, [ | |
'Tried running `everyUserOver13([User(\'Dan\', 12)])`, but received an exception: $e' | |
]); | |
return; | |
} | |
_result(true); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment