示例#1
0
        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);
        }
示例#2
0
        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));
        }