public void TestAddText() { string groupName; _uniqueNames.TryPop(out groupName); //string groupName = _uniqueNames.Pop(); IGroupModel groupModel = _modelFactory.GetGroupModel(groupName, UniversalConstants.CountSize); _groupStore.Add(groupModel); //string textName = _uniqueNames.Pop(); string textName; _uniqueNames.TryPop(out textName); StreamReader text = new StreamReader("../../SampleTextFiles/WordSpanningMultipleLines.txt"); ITextModel textModel = _modelFactory.GetTextModel(textName, text, UniversalConstants.CountSize); _textStore.Add(textModel); _groupStore.AddItem(groupModel, textModel); groupModel = _groupStore.GetOne(x => x.Name == groupName); List <ITextOrGroupViewModel> groupMembers = groupModel.GetMembers(); Assert.AreEqual(1, groupMembers.Count); Assert.AreEqual(textName, groupMembers[0].GetName()); Assert.IsInstanceOfType(groupMembers[0], typeof(ITextModel)); CompareTextModels(textModel, (ITextModel)groupMembers[0]); _groupStore.RemoveItem(groupModel, textModel); _textStore.Delete(textModel); _groupStore.Delete(groupModel); }
public void CreateText(string name, TextReader input, int length, string author = null) { if (_textStore.Exists(x => x.Name == name) || _groupStore.Exists(x => x.Name == name)) { throw new ArgumentException($"Cannot create text because another item in the database already has the name {name}."); } ITextModel model = _modelFactory.GetTextModel(name, input, length); if (!string.IsNullOrWhiteSpace(author)) { model.SetAuthor(author); } _textStore.Add(model); }
public void TestAdd() { //string name = _uniqueNames.Pop(); string name; _uniqueNames.TryPop(out name); StreamReader text = new StreamReader("../../SampleTextFiles/WordSpanningMultipleLines.txt"); ITextModel model = _modelFactory.GetTextModel(name, text, UniversalConstants.CountSize); _textStore.Add(model); Text result = _db.Texts.FirstOrDefault(x => x.Name == name); Assert.IsNotNull(result); if (result != null) { _db.Texts.Remove(result); _db.SaveChanges(); } }