private void when_saving_impulse_then_succeeds(IImpulse impulse) { var dir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var store = new FileImpulseStore(dir); store.Save(new TestDevice("id", "type"), impulse); var saved = store.ReadAll().First(); Assert.Equal("id", saved.Sender.Id); Assert.Equal("type", saved.Sender.Type); Assert.Equal(impulse, saved.EventArgs); }
public void when_reading_multiple_then_orders_by_timestamp_ascending() { var impulses = new List<IImpulse>(); var dir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var store = new FileImpulseStore(dir); impulses.Add(Impulse.Create("t", new DateTimeOffset(2013, 3, 1, 00, 00, 00, TimeSpan.Zero))); impulses.Add(Impulse.Create("t", new DateTimeOffset(2013, 3, 1, 00, 10, 00, TimeSpan.Zero))); impulses.Add(Impulse.Create("t", new DateTimeOffset(2013, 3, 15, 00, 00, 00, TimeSpan.Zero))); impulses.Add(Impulse.Create("t", new DateTimeOffset(2013, 4, 10, 15, 00, 00, TimeSpan.Zero))); impulses.Add(Impulse.Create("t", new DateTimeOffset(2013, 4, 10, 22, 00, 00, TimeSpan.Zero))); impulses.ForEach(i => store.Save(new TestDevice("id", "type"), i)); var saved = store.ReadAll().Select(x => x.EventArgs).ToList(); Assert.True(Enumerable.SequenceEqual(impulses, saved)); }