Skip to content

Instantly share code, notes, and snippets.

@hotdang-ca
Created March 3, 2022 14:44
Show Gist options
  • Select an option

  • Save hotdang-ca/4ff9d68c88c55aa93983f9a2015c41e7 to your computer and use it in GitHub Desktop.

Select an option

Save hotdang-ca/4ff9d68c88c55aa93983f9a2015c41e7 to your computer and use it in GitHub Desktop.
Asserts a method returns expected value
void main() {
BvItem test1Item = BvItem(netSize: 1);
BvItem test2Item = BvItem(netSize: 6);
BvItem test3Item = BvItem(netSize: 7);
BvItem test4Item = BvItem(netSize: 8);
BvItem test5Item = BvItem(netSize: 14);
BvItem test6Item = BvItem(netSize: 15);
BvItem test7Item = BvItem(); // yes, null.
num? netSizeA = isGrouped(test1Item) ?? (test1Item.netSize ?? -1);
num? netSizeB = isGrouped(test2Item) ?? (test2Item.netSize ?? -1);
num? netSizeC = isGrouped(test3Item) ?? (test3Item.netSize ?? -1);
num? netSizeD = isGrouped(test4Item) ?? (test4Item.netSize ?? -1);
num? netSizeE = isGrouped(test5Item) ?? (test5Item.netSize ?? -1);
num? netSizeF = isGrouped(test6Item) ?? (test6Item.netSize ?? -1);
num? netSizeG = isGrouped(test7Item) ?? (test7Item.netSize ?? -1);
assert(netSizeA == 1); print('${test1Item.netSize} works');
assert(netSizeB == 6); print('${test2Item.netSize} works');
assert(netSizeC == 7); print('${test3Item.netSize} works');
assert(netSizeD == 7); print('${test4Item.netSize} works');
assert(netSizeE == 15); print('${test5Item.netSize} works');
assert(netSizeF == 15); print('${test6Item.netSize} works');
assert(netSizeG == -1); print('${test7Item.netSize} works');
}
class BvItem {
final int? netSize;
BvItem({this.netSize});
}
int? isGrouped(BvItem item) {
if (item.netSize == null) return null;
// the ! symbol here says, "I firmly believe this value will not be null. Trust me."
// If it is null, we will crash.
if (item.netSize! >= 7 && item.netSize! < 14) return 7;
if (item.netSize == 14) return 15;
return null;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment