public void WhenDeserializeItWillReturnProjectRead() { var deserializerStub = new StubIXmlDeserializer(); deserializerStub.DeserializeOf1String(contents => new ProjectSerializable(Project)); var project = BuildProjectDeserializer(deserializerStub).Deserialize("C:\\TestFilePath"); Assert.IsNotNull(project); Assert.AreEqual(Project.Name, project.Name); Assert.AreEqual(Project.Path, project.Path); }
public void WhenDependenciesAreInvalidItWillFail() { Action<Action, string> assert = TestExpectedArgumentException<ArgumentNullException>; var pathFacade = new StubIPathFacade(); var objectDumper = new StubIObjectDumper(); var editorLogger = new StubIEditorLogger(); var projectLoader = new StubIProjectLoader(); var xmlDeserializer = new StubIXmlDeserializer(); assert(() => SetupClass(), "pathFacade"); assert(() => SetupClass(pathFacade), "logger"); assert(() => SetupClass(pathFacade, editorLogger), "projectLoader"); assert(() => SetupClass(pathFacade, editorLogger, projectLoader), "objectDumper"); assert(() => SetupClass(pathFacade, editorLogger, projectLoader, objectDumper), "xmlDeserializer"); assert(() => SetupClass(pathFacade, editorLogger, projectLoader, objectDumper, xmlDeserializer), "fileReader"); }
public void WhenProjectIsLoadedWillReturnItemsCollection() { var project = new StubIProject(); var projectLoader = new StubIProjectLoader { CurrentProjectGet = () => project }; var itemsCollection = new List<IItem> {new StubIItem()}; var serializableItemCollection = new SerializableItemCollection(itemsCollection); var xmlDeserializer = new StubIXmlDeserializer(); xmlDeserializer.DeserializeOf1String(s => serializableItemCollection); var deserializedCollection = SetupClassWithDefaults(projectLoader, xmlDeserializer).Deserialize(); Assert.AreEqual(itemsCollection.Count, deserializedCollection.Count()); }
private static ProjectDeserializer BuildProjectDeserializer(StubIXmlDeserializer deserializerStub = null) { deserializerStub = deserializerStub ?? new StubIXmlDeserializer(); return new ProjectDeserializer(deserializerStub, new StubIFileReader()); }