fitlien-common/test/utlity_test.dart
2025-03-31 11:00:32 +05:30

116 lines
4.0 KiB
Dart

import 'dart:math';
import 'package:flutter_test/flutter_test.dart';
import 'package:fitlien_common/utility.dart';
void main() {
test('Test splitToWords function 1', () {
List<Word> words = Utility.splitToWords("This is a test sentence.");
expect(words.length, 5);
expect(words[0].text, "This");
expect(words[1].text, "is");
expect(words[2].text, "a");
expect(words[3].text, "test");
expect(words[4].text, "sentence.");
});
test('Test splitToWords function 2', () {
List<Word> words = Utility.splitToWords("This is a another sentence.");
expect(words.length, 5);
expect(words[0].text, "This");
expect(words[1].text, "is");
expect(words[2].text, "a");
expect(words[3].text, "another");
expect(words[4].text, "sentence.");
});
test('Comparison test 1', () {
var text1 = "ab bc cd";
var text2 = "ab cb cd";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 1);
expect(deltas[0].wordDeltas.length, 1);
expect(deltas[0].wordDeltas[0].old!.text, "bc");
expect(deltas[0].wordDeltas[0].modified!.text, "cb");
});
test('Comparison test 2', () {
var text1 = "ab bc cd";
var text2 = "ab cb dc";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 1);
expect(deltas[0].wordDeltas.length, 2);
expect(deltas[0].wordDeltas[0].old!.text, "bc");
expect(deltas[0].wordDeltas[0].modified!.text, "cb");
expect(deltas[0].wordDeltas[1].old!.text, "cd");
expect(deltas[0].wordDeltas[1].modified!.text, "dc");
});
test('Comparison test 3', () {
var text1 = "ab bc cd fe";
var text2 = "ab cb cd ef";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 2);
expect(deltas[0].wordDeltas.length, 1);
expect(deltas[0].wordDeltas[0].old!.text, "bc");
expect(deltas[0].wordDeltas[0].modified!.text, "cb");
expect(deltas[1].wordDeltas.length, 1);
expect(deltas[1].wordDeltas[0].old!.text, "fe");
expect(deltas[1].wordDeltas[0].modified!.text, "ef");
});
test('Comparison test 4', () {
var text1 = "ab bc";
var text2 = "ab cb cd ef";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 2);
expect(deltas[0].wordDeltas.length, 1);
expect(deltas[0].wordDeltas[0].old!.text, "bc");
expect(deltas[0].wordDeltas[0].modified!.text, "cb");
expect(deltas[1].wordDeltas.length, 2);
expect(deltas[1].wordDeltas[0].old, null);
expect(deltas[1].wordDeltas[0].modified!.text, "cd");
expect(deltas[1].wordDeltas[1].old, null);
expect(deltas[1].wordDeltas[1].modified!.text, "ef");
});
test('Comparison test 5', () {
var text1 = "ab bc cd ef";
var text2 = "ab cb";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 2);
expect(deltas[0].wordDeltas.length, 1);
expect(deltas[0].wordDeltas[0].old!.text, "bc");
expect(deltas[0].wordDeltas[0].modified!.text, "cb");
expect(deltas[1].wordDeltas.length, 2);
expect(deltas[1].wordDeltas[0].old!.text, "cd");
expect(deltas[1].wordDeltas[0].modified, null);
expect(deltas[1].wordDeltas[1].old!.text, "ef");
expect(deltas[1].wordDeltas[1].modified, null);
});
test('Comparison test 6', () {
var text1 = "ab bc cd ef";
var text2 = "ab bd cd ef";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 1);
expect(deltas[0].wordDeltas.length, 1);
expect(deltas[0].wordDeltas[0].old!.text, "bc");
expect(deltas[0].wordDeltas[0].modified!.text, "bd");
});
test('Comparison test 7', () {
var text1 = "abc def ghi";
var text2 = "zbc dkf gha";
var deltas = Utility.compare(text1, text2);
expect(deltas.length, 1);
expect(deltas[0].wordDeltas.length, 3);
expect(deltas[0].wordDeltas[0].old!.text, "abc");
expect(deltas[0].wordDeltas[0].modified!.text, "zbc");
expect(deltas[0].wordDeltas[1].old!.text, "def");
expect(deltas[0].wordDeltas[1].modified!.text, "dkf");
expect(deltas[0].wordDeltas[2].old!.text, "def");
expect(deltas[0].wordDeltas[2].modified!.text, "gha");
});
}