Skip to content

Commit

Permalink
fixed testing
Browse files Browse the repository at this point in the history
  • Loading branch information
baladi39 committed Feb 6, 2024
1 parent c833fd6 commit 6247a02
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 74 deletions.
2 changes: 1 addition & 1 deletion bin/fizz_buzz.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ import 'package:fizz_buzz/fizz_buzz.dart' as fizz_buzz;
void main(List<String> arguments) {
print(fizz_buzz.fizzBuzzMachine(5));

print(fizz_buzz.fizzBuzzMachineArr([1, 10, 5, 30]));
// print(fizz_buzz.fizzBuzzMachineArr([1, 10, 5, 30]));
}
56 changes: 6 additions & 50 deletions lib/fizz_buzz.dart
Original file line number Diff line number Diff line change
@@ -1,60 +1,16 @@
var countFizz = 0;
var countBuzz = 0;
var countFizzBuzz = 0;
var countNone = 0;
Map<String, int> result = {};

addEntriesResult() {
result.addAll({
'Fizz': countFizz,
'Buzz': countBuzz,
'FizzBuzz': countFizzBuzz,
'None': countNone
});
}

clearCounts() {
countFizz = 0;
countBuzz = 0;
countFizzBuzz = 0;
countNone = 0;
result = {};
}

Map<String, int> fizzBuzzMachine(int tillWhen) {
clearCounts();
List<dynamic> fizzBuzzMachine(int tillWhen) {
List<dynamic> result = [];
for (int i = 1; i <= tillWhen; i++) {
if (i % 3 == 0 && i % 5 == 0) {
++countFizzBuzz;
result.add('FizzBuzz');
} else if (i % 5 == 0) {
++countBuzz;
result.add('Buzz');
} else if (i % 3 == 0) {
++countFizz;
} else {
++countNone;
}
}

addEntriesResult();

return result;
}

Map<String, int> fizzBuzzMachineArr(List<int> arr) {
clearCounts();
for (var element in arr) {
if (element % 3 == 0 && element % 5 == 0) {
++countFizzBuzz;
} else if (element % 5 == 0) {
++countBuzz;
} else if (element % 3 == 0) {
++countFizz;
result.add('Fizz');
} else {
++countNone;
result.add(i);
}
}

addEntriesResult();

return result;
}
45 changes: 22 additions & 23 deletions test/fizz_buzz_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,32 @@ import 'package:fizz_buzz/fizz_buzz.dart';
import 'package:test/test.dart';

void main() {
group('FizzBuzz Machine Tester', () {
test('Till 10', () {
expect(fizzBuzzMachine(50),
{'Fizz': 13, 'Buzz': 7, 'FizzBuzz': 3, 'None': 27});
});
test('Till 5', () {
expect(
fizzBuzzMachine(5), {'Fizz': 1, 'Buzz': 1, 'FizzBuzz': 0, 'None': 3});
group('FizzBuzz Machine Arr Tester', () {
test('return one fizz and one buzz when given a limit of 5', () {
expect(fizzBuzzMachine(5), [1, 2, 'Fizz', 4, 'Buzz']);
});
test('Till 1', () {
expect(
fizzBuzzMachine(1), {'Fizz': 0, 'Buzz': 0, 'FizzBuzz': 0, 'None': 1});
test('return list of number when there is no fizz or fizzbuzz or buzz', () {
expect(fizzBuzzMachine(2), [1, 2]);
});
});

group('FizzBuzz Machine Arr Tester', () {
test('No Buzz', () {
expect(fizzBuzzMachineArr([1, 15, 13, 31]),
{'Fizz': 0, 'Buzz': 0, 'FizzBuzz': 1, 'None': 3});
});
test('No Fizz', () {
expect(fizzBuzzMachineArr([1, 10, 5, 30]),
{'Fizz': 0, 'Buzz': 2, 'FizzBuzz': 1, 'None': 1});
});
test('Nothing!', () {
expect(fizzBuzzMachineArr([1, 2, 4, 8]),
{'Fizz': 0, 'Buzz': 0, 'FizzBuzz': 0, 'None': 4});
expect(fizzBuzzMachine(15), [
1,
2,
'Fizz',
4,
'Buzz',
'Fizz',
7,
8,
'Fizz',
'Buzz',
11,
'Fizz',
13,
14,
'FizzBuzz'
]);
});
});
}

0 comments on commit 6247a02

Please sign in to comment.