Beispiel #1
0
        public void Queue_CreateAndGet()
        {
            var assert = AssertOperation.WithAssert(MsTestAssert.Instance);
            var space  = new PersistedObjectSpace(new SerializationFactory());

            CreateAndGetCore(assert).Accept(space);
        }
Beispiel #2
0
        public void Array_ManOrBoy()
        {
            var assert = AssertOperation.WithAssert(MsTestAssert.Instance);
            var space  = new PersistedObjectSpace(new SerializationFactory());

            ManOrBoyCore(assert).Accept(space);
        }
 public CheckpointingQueryEngine(Uri uri, IReactiveServiceResolver serviceResolver, IScheduler scheduler, IReactiveMetadata metadataRegistry, IKeyValueStore keyValueStore, IQuotedTypeConversionTargets quotedTypeConversionTargets, TraceSource traceSource, ICompiledDelegateCache delegateCache)
     : base(uri, serviceResolver, scheduler, metadataRegistry, keyValueStore, SerializationPolicy.Default, quotedTypeConversionTargets, traceSource, delegateCache)
 {
     _objectSpace = new PersistedObjectSpace(new SerializationFactory());
 }
Beispiel #4
0
        private static void ObjectSpaceTests()
        {
            var store = new Store();

            {
                var serializer = new SerializationFactory();
                var state      = new PersistedObjectSpace(serializer);

                var value = state.CreateValue <string>("bar");
                value.Value = "Hello, world!";

                Console.WriteLine("Value = " + value.Value);

                var array = state.CreateArray <int>("foo", 8);
                array[3] = 42;
                array[5] = 43;

                Console.WriteLine("Array = " + string.Join(",", array));

                var list = state.CreateList <int>("qux");
                list.Add(2);
                list.Add(3);
                list.Add(5);

                Console.WriteLine("List = " + string.Join(",", list));

                var queue = state.CreateQueue <int>("baz");
                queue.Enqueue(2);
                queue.Enqueue(3);
                queue.Enqueue(5);

                Console.WriteLine("Queue = " + string.Join(",", queue));

                var stack = state.CreateStack <int>("quux");
                stack.Push(2);
                stack.Push(3);
                stack.Push(5);

                Console.WriteLine("Stack = " + string.Join(",", stack));

                var set = state.CreateSet <int>("fred");
                set.Add(2);
                set.Add(3);
                set.Add(5);

                Console.WriteLine("Set = " + string.Join(",", set));

                var dictionary = state.CreateDictionary <string, int>("wilma");
                dictionary.Add("two", 2);
                dictionary.Add("three", 3);
                dictionary.Add("five", 5);

                Console.WriteLine("Dictionary = " + string.Join(",", dictionary));

                var linkedList = state.CreateLinkedList <int>("homer");
                linkedList.Add(3);
                linkedList.Add(7);
                linkedList.Add(13);

                Console.WriteLine("Linked list = " + string.Join(",", linkedList));

                Console.WriteLine();
                Console.Write("Saving... ");

                var writer = GetWriter(store, CheckpointKind.Full);
                state.Save(writer);
                writer.CommitAsync().GetAwaiter().GetResult();
                state.OnSaved();

                Console.WriteLine("Done");
                Console.WriteLine();
            }

            store.Print();

            {
                var serializer = new SerializationFactory();
                var state      = new PersistedObjectSpace(serializer);

                Console.WriteLine();
                Console.Write("Loading... ");

                var reader = GetReader(store);
                state.Load(reader);

                Console.WriteLine("Done");
                Console.WriteLine();

                var value = state.GetValue <string>("bar");

                Console.WriteLine("Value = " + value.Value);

                var array = state.GetArray <int>("foo");

                Console.WriteLine("Array = " + string.Join(",", array));

                var list = state.GetList <int>("qux");

                Console.WriteLine("List = " + string.Join(",", list));

                var queue = state.GetQueue <int>("baz");

                Console.WriteLine("Queue = " + string.Join(",", queue));

                var stack = state.GetStack <int>("quux");

                Console.WriteLine("Stack = " + string.Join(",", stack));

                var set = state.GetSet <int>("fred");

                Console.WriteLine("Set = " + string.Join(",", set));

                var dictionary = state.GetDictionary <string, int>("wilma");

                Console.WriteLine("Dictionary = " + string.Join(",", dictionary));

                var linkedList = state.GetLinkedList <int>("homer");

                Console.WriteLine("Linked list = " + string.Join(",", linkedList));

                Console.WriteLine();

                Console.WriteLine("Applying edits...");
                Console.WriteLine();

                value.Value = "baz";

                Console.WriteLine("Value = " + value.Value);

                array[2] = 41;
                array[5] = 44;

                Console.WriteLine("Array = " + string.Join(",", array));

                list.Add(7);

                Console.WriteLine("List = " + string.Join(",", list));

                queue.Dequeue();
                queue.Enqueue(11);
                queue.Enqueue(13);

                Console.WriteLine("Queue = " + string.Join(",", queue));

                stack.Pop();
                stack.Push(11);
                stack.Push(13);

                Console.WriteLine("Stack = " + string.Join(",", stack));

                set.Remove(3);
                set.Add(7);
                set.Add(11);

                Console.WriteLine("Set = " + string.Join(",", set));

                dictionary.Remove("three");
                dictionary.Add("seven", 7);
                dictionary.Add("eleven", 11);

                Console.WriteLine("Dictionary = " + string.Join(",", dictionary));

                linkedList.AddFirst(2);
                linkedList.AddAfter(linkedList.Find(3), 5);
                linkedList.AddBefore(linkedList.FindLast(13), 11);
                linkedList.AddLast(17);

                Console.WriteLine("Linked list = " + string.Join(",", linkedList));

                Console.WriteLine();
                Console.Write("Saving... ");

                var writer = GetWriter(store, CheckpointKind.Differential);
                state.Save(writer);
                writer.CommitAsync().GetAwaiter().GetResult();
                state.OnSaved();

                Console.WriteLine("Done");
                Console.WriteLine();
            }

            store.Print();

            {
                var serializer = new SerializationFactory();
                var state      = new PersistedObjectSpace(serializer);

                Console.WriteLine();
                Console.Write("Loading... ");

                var reader = GetReader(store);
                state.Load(reader);

                Console.WriteLine("Done");
                Console.WriteLine();

                var value = state.GetValue <string>("bar");

                Console.WriteLine("Value = " + value.Value);

                var array = state.GetArray <int>("foo");

                Console.WriteLine("Array = " + string.Join(",", array));

                var list = state.GetList <int>("qux");

                Console.WriteLine("List = " + string.Join(",", list));

                var queue = state.GetQueue <int>("baz");

                Console.WriteLine("Queue = " + string.Join(",", queue));

                var stack = state.GetStack <int>("quux");

                Console.WriteLine("Stack = " + string.Join(",", stack));

                var set = state.GetSet <int>("fred");

                Console.WriteLine("Set = " + string.Join(",", set));

                var dictionary = state.GetDictionary <string, int>("wilma");

                Console.WriteLine("Dictionary = " + string.Join(",", dictionary));

                var linkedList = state.GetLinkedList <int>("homer");

                Console.WriteLine("Linked list = " + string.Join(",", linkedList));
            }
        }
Beispiel #5
0
 public void CreateSpace() => Space = new PersistedObjectSpace(new SerializationFactory());