import 'dart:math'; import 'package:flutter_test/flutter_test.dart'; import 'package:fitlien_common/utility.dart'; void main() { test('Test splitToWords function 1', () { List 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 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, "ghi"); expect(deltas[0].wordDeltas[2].modified!.text, "gha"); }); }