import 'package:anagram/anagram.dart'; import 'package:test/test.dart'; final anagram = Anagram(); void main() { group('Anagram', () { test('no matches', () { final result = anagram.findAnagrams('diaper', ['hello', 'world', 'zombies', 'pants']); expect(result, equals([])); }, skip: false); test('detects two anagrams', () { final result = anagram.findAnagrams('solemn', ['lemons', 'cherry', 'melons']); expect(result, equals(['lemons', 'melons'])); }, skip: true); test('does not detect anagram subsets', () { final result = anagram.findAnagrams('good', ['dog', 'goody']); expect(result, equals([])); }, skip: true); test('detects anagram', () { final result = anagram.findAnagrams('listen', ['enlists', 'google', 'inlets', 'banana']); expect(result, equals(['inlets'])); }, skip: true); test('detects three anagrams', () { final result = anagram.findAnagrams('allergy', ['gallery', 'ballerina', 'regally', 'clergy', 'largely', 'leading']); expect(result, equals(['gallery', 'regally', 'largely'])); }, skip: true); test('detects multiple anagrams with different case', () { final result = anagram.findAnagrams('nose', ['Eons', 'ONES']); expect(result, equals(['Eons', 'ONES'])); }, skip: true); test('does not detect non-anagrams with identical checksum', () { final result = anagram.findAnagrams('mass', ['last']); expect(result, equals([])); }, skip: true); test('detects anagrams case-insensitively', () { final result = anagram.findAnagrams('Orchestra', ['cashregister', 'Carthorse', 'radishes']); expect(result, equals(['Carthorse'])); }, skip: true); test('detects anagrams using case-insensitive subject', () { final result = anagram.findAnagrams('Orchestra', ['cashregister', 'carthorse', 'radishes']); expect(result, equals(['carthorse'])); }, skip: true); test('detects anagrams using case-insensitive possible matches', () { final result = anagram.findAnagrams('orchestra', ['cashregister', 'Carthorse', 'radishes']); expect(result, equals(['Carthorse'])); }, skip: true); test('does not detect an anagram if the original word is repeated', () { final result = anagram.findAnagrams('go', ['go Go GO']); expect(result, equals([])); }, skip: true); test('anagrams must use all letters exactly once', () { final result = anagram.findAnagrams('tapper', ['patter']); expect(result, equals([])); }, skip: true); test('words are not anagrams of themselves', () { final result = anagram.findAnagrams('BANANA', ['BANANA']); expect(result, equals([])); }, skip: true); test('words are not anagrams of themselves even if letter case is partially different', () { final result = anagram.findAnagrams('BANANA', ['Banana']); expect(result, equals([])); }, skip: true); test('words are not anagrams of themselves even if letter case is completely different', () { final result = anagram.findAnagrams('BANANA', ['banana']); expect(result, equals([])); }, skip: true); test('words other than themselves can be anagrams', () { final result = anagram.findAnagrams('LISTEN', ['LISTEN', 'Silent']); expect(result, equals(['Silent'])); }, skip: true); }); }