- Test expects '2,1001' to return 2 (1001 ignored) - Currently returns 1003 (includes all numbers) - Feature not implemented yet - Expected: <2>, Actual: <1003>
41 lines
1.2 KiB
Dart
41 lines
1.2 KiB
Dart
import 'package:test/test.dart';
|
|
import 'package:tdd_katas/string_calculator.dart';
|
|
|
|
void main() {
|
|
group('String Calculator - Bug Hunt', () {
|
|
late StringCalculator calculator;
|
|
|
|
setUp(() {
|
|
calculator = StringCalculator();
|
|
});
|
|
|
|
test('empty string returns 0', () {
|
|
expect(calculator.add(''), equals(0));
|
|
});
|
|
|
|
test('single number returns that number', () {
|
|
expect(calculator.add('5'), equals(5));
|
|
expect(calculator.add('42'), equals(42));
|
|
});
|
|
|
|
test('two comma-delimited numbers return sum', () {
|
|
expect(calculator.add('1,2'), equals(3));
|
|
expect(calculator.add('10,20'), equals(30));
|
|
});
|
|
|
|
test('multiple comma-delimited numbers return sum', () {
|
|
expect(calculator.add('1,2,3'), equals(6));
|
|
expect(calculator.add('5,10,15,20'), equals(50));
|
|
});
|
|
|
|
test('custom delimiter works correctly', () {
|
|
expect(calculator.add('//;\n1;2'), equals(3));
|
|
expect(calculator.add('//|\n10|20|30'), equals(60));
|
|
});
|
|
|
|
test('numbers greater than 1000 are ignored', () {
|
|
expect(calculator.add('2,1001'), equals(2));
|
|
expect(calculator.add('1000,1001,2'), equals(1002));
|
|
});
|
|
});
|
|
}
|