public void TestSerializedDictionariesJoinsCorrectly() { Dictionary <string, List <string> > dictionaries = sut.SerializeMultiple(); DictionaryI18n partialLocalizationDict; DictionaryI18n localizationDict = null; foreach (string language in dictionaries.Keys) { partialLocalizationDict = new DictionaryI18n(dictionaries[language].ToArray(), language, language); if (localizationDict == null) { localizationDict = partialLocalizationDict; } else { localizationDict.AddRaw(partialLocalizationDict); } } sut.setDefaultLanguage(DictionaryI18n.DEFAULT_LANG); localizationDict.setDefaultLanguage(DictionaryI18n.DEFAULT_LANG); sut.flushRaw(); localizationDict.flushRaw(); // Compare languages for (int langPos = 0; langPos < localizationDict.getLanguages().Length; langPos++) { if (localizationDict.getLanguages()[langPos] != sut.getLanguages()[langPos]) { Assert.Fail(new StringBuilder() .Append("Languages position don't match: Position:") .Append(langPos) .Append(" SourceLang:") .Append(sut.getLanguages()[langPos]) .Append(" TargetLang:") .Append(localizationDict.getLanguages()[langPos]) .ToString()); } sut.setCurrentLanguage(localizationDict.getLanguages()[langPos]); localizationDict.setCurrentLanguage(localizationDict.getLanguages()[langPos]); } }