public void CreateDelegates() { // Arrange. var date = new DateTime(2000, 1, 1); const string serializedTask = "serialized task"; const string taskName = "task name"; var parserResult = new ParserResult { Name = taskName }; var taskVersion = new TaskVersion(date); var task = new Task(taskName); var parser = MockRepository.GenerateStrictMock<ITaskParser>(); var store = MockRepository.GenerateStrictMock<ITaskStore>(); var factory = MockRepository.GeneratePartialMock<TaskFactory>(parser, store); parser .Expect(p => p.Parse(serializedTask)) .Return(parserResult); factory .Expect(f => f.New(date, parserResult)) .Return(taskVersion); store .Expect(s => s.Save(taskName, taskVersion)) .Return(task); // Act. var res = factory.Create(date, serializedTask); // Assert. parser.VerifyAllExpectations(); factory.VerifyAllExpectations(); store.VerifyAllExpectations(); Assert.AreEqual(task, res); }
public void GetTasks() { // Arrange. const string taskName = "task name"; var task = new Task(taskName); var date = new DateTime(); var taskVersion = new TaskVersion(date); var versions = new SortedDictionary<DateTime, TaskVersion>(); versions.Add(date, taskVersion); var taskVersions = new Dictionary< string, SortedDictionary<DateTime, TaskVersion> >(); taskVersions.Add(taskName, versions); var store = MockRepository.GeneratePartialMock<MemoryTaskStore>(); store.Expect(s => s.TaskVersions).Return(taskVersions); store.Expect(s => s.New(taskName, versions)).Return(task); // Act. var res = store.Tasks.ToList(); // Assert. store.VerifyAllExpectations(); Assert.AreEqual(1, res.Count()); Assert.AreEqual(task, res.First()); }
/// <summary> /// Saves the specified task version. /// </summary> /// <param name="taskName"> /// The name of the task that this task version belongs to. /// </param> /// <param name="taskVersion"> /// The task version to save. /// </param> /// <returns> /// The task with the specified name. /// </returns> public Task Save(string taskName, TaskVersion taskVersion) { if (taskName == null) { throw new ArgumentNullException("taskName"); } if (string.IsNullOrWhiteSpace(taskName)) { throw new ArgumentOutOfRangeException("taskName"); } if (taskVersion == null) { throw new ArgumentNullException("taskVersion"); } var versions = GetVersions(taskName); versions.Add(taskVersion.Date, taskVersion); var task = New(taskName, versions); return(task); }
public void SaveNoTaskNameException() { // Arrange. const string taskName = null; var version = new TaskVersion(new DateTime()); var store = new MemoryTaskStore(); // Act and assert. store.Save(taskName, version); }
public void SaveCreatesTaskAndAppendsVersion() { // Arrange. const string name = "task name"; var date = new DateTime(2000, 1, 1); var version = new TaskVersion(date); var task = new Task(name); var versions = new SortedDictionary<DateTime, TaskVersion>(); var store = MockRepository.GeneratePartialMock<MemoryTaskStore>(); store.Expect(s => s.GetVersions(name)).Return(versions); store.Expect(s => s.New(name, versions)).Return(task); // Act. var res = store.Save(name, version); // Assert. store.VerifyAllExpectations(); Assert.AreEqual(task, res); Assert.AreEqual(1, versions.Count()); Assert.AreEqual(version, versions[date]); }
public void NewCreatesTaskWithSpecifiedName() { // Arrange. const string taskName = "task name"; var date = new DateTime(); var version = new TaskVersion(date); var versions = new SortedDictionary<DateTime, TaskVersion>(); versions.Add(date, version); var store = new MemoryTaskStore(); // Act. var task = store.New(taskName, versions); // Assert. Assert.AreEqual(taskName, task.Name); Assert.AreEqual(1, task.Versions.Count()); Assert.AreEqual(version, task.Versions.First()); }