コード例 #1
0
        public async Task should_return_only_active_version_of_each_widget_entry()
        {
            const string latestVersion  = "1.2";
            const string oldVersion     = "1.1";
            var          currentVersion = new WidgetVersion();
            var          entries        = new List <WidgetEntry>
            {
                new WidgetEntry
                {
                    LatestVersion = latestVersion,
                    Versions      = new Dictionary <string, WidgetVersion>
                    {
                        { oldVersion, new WidgetVersion() },
                        { latestVersion, currentVersion },
                    }
                },
                new WidgetEntry
                {
                    LatestVersion = latestVersion,
                    Versions      = new Dictionary <string, WidgetVersion>
                    {
                        { oldVersion, new WidgetVersion() },
                        { latestVersion, currentVersion }
                    }
                }
            };
            var cursor = StubCursor <WidgetEntry>(CollectionName);

            StubListOfResult(cursor, entries);

            var results = await _controller.GetWidgets();

            results.Data.Count.Should().Be(entries.Count);
        }
コード例 #2
0
 private static WidgetVersionOutput ToWidgetVersionOutput(this WidgetVersion version, WidgetEntry entry)
 {
     return(new WidgetVersionOutput
     {
         CreatedAt = version.CreatedAt,
         CreatedBy = version.CreatedBy,
         WidgetComponents = version.WidgetComponents,
         WidgetIcons = version.WidgetIcons,
         MainIconName = version.MainIconName,
         Type = entry.Type,
         Name = entry.Name
     });
 }
コード例 #3
0
        public void TestOrderedEdges()
        {
            using (TestDatabaseContext testContext = new TestDatabaseContext())
                using (ODatabase database = new ODatabase(TestConnection.GlobalTestDatabaseAlias))
                {
                    database.Command("alter database custom useLightweightEdges=false");

                    database.Create.Class <Widget>().Extends("V").CreateProperties().Run();
                    database.Create.Class <WidgetVersion>().Extends("V").CreateProperties().Run();

                    database.Create.Class("VersionOf").Extends("E").Run();

                    var w1 = new Widget()
                    {
                        Value = 12
                    };
                    var wv1 = new WidgetVersion()
                    {
                        Value = 23
                    };
                    var wv2 = new WidgetVersion()
                    {
                        Value = 34
                    };

                    var v1 = database.Create.Vertex(w1).Run();
                    var v2 = database.Create.Vertex(wv1).Run();
                    var v3 = database.Create.Vertex(wv2).Run();

                    var e1 = database.Create.Edge("VersionOf").From(v1).To(v2).Run();
                    var e2 = database.Create.Edge("VersionOf").From(v1).To(v3).Run();

                    var loaded1 = database.Load.ORID(v1.ORID).Run <Widget>();
                    Assert.Equal(2, loaded1.out_VersionOf.Count);
                    Assert.True(loaded1.out_VersionOf.Contains(e1.ORID));
                    Assert.True(loaded1.out_VersionOf.Contains(e2.ORID));
                    Assert.Equal(12, loaded1.Value);

                    var loaded2 = database.Load.ORID(v2.ORID).Run <WidgetVersion>();
                    Assert.NotNull(loaded2.in_VersionOf);
                    Assert.Equal(1, loaded2.in_VersionOf.Count);
                    Assert.Equal(23, loaded2.Value);
                    Assert.True(loaded2.in_VersionOf.Contains(e1.ORID));

                    var loaded3 = database.Load.ORID(v3.ORID).Run <WidgetVersion>();
                    Assert.NotNull(loaded3.in_VersionOf);
                    Assert.Equal(1, loaded3.in_VersionOf.Count);
                    Assert.Equal(34, loaded3.Value);
                    Assert.True(loaded3.in_VersionOf.Contains(e2.ORID));
                }
        }
コード例 #4
0
        public void TestUnOrderedEdges()
        {
            using (TestDatabaseContext testContext = new TestDatabaseContext())
            using (ODatabase database = new ODatabase(TestConnection.GlobalTestDatabaseAlias))
            {
                database.Command("alter database custom useLightweightEdges=false");

                database.Create.Class<UnorderedWidget>().Extends("V").CreateProperties().Run();
                database.Create.Class<WidgetVersion>().Extends("V").CreateProperties().Run();

                database.Create.Class("VersionOf").Extends("E").Run();

                var w1 = new UnorderedWidget() { Value = 12 };
                var wv1 = new WidgetVersion() { Value = 23 };
                var wv2 = new WidgetVersion() { Value = 34 };

                var v1 = database.Create.Vertex(w1).Run();
                var v2 = database.Create.Vertex(wv1).Run();
                var v3 = database.Create.Vertex(wv2).Run();

                var e1 = database.Create.Edge("VersionOf").From(v1).To(v2).Run();
                var e2 = database.Create.Edge("VersionOf").From(v1).To(v3).Run();

                var loaded1 = database.Load.ORID(v1.ORID).Run<UnorderedWidget>();
                Assert.Equal(2, loaded1.out_VersionOf.Count);
                Assert.True(loaded1.out_VersionOf.Contains(e1.ORID));
                Assert.True(loaded1.out_VersionOf.Contains(e1.ORID));
                Assert.Equal(12, loaded1.Value);

                var loaded2 = database.Load.ORID(v2.ORID).Run<WidgetVersion>();
                Assert.NotNull(loaded2.in_VersionOf);
                Assert.Equal(1, loaded2.in_VersionOf.Count);
                Assert.Equal(23, loaded2.Value);
                Assert.True(loaded2.in_VersionOf.Contains(e1.ORID));

                var loaded3 = database.Load.ORID(v3.ORID).Run<WidgetVersion>();
                Assert.NotNull(loaded3.in_VersionOf);
                Assert.Equal(1, loaded3.in_VersionOf.Count);
                Assert.Equal(34, loaded3.Value);
                Assert.True(loaded3.in_VersionOf.Contains(e2.ORID));

            }
        }
コード例 #5
0
          public void TestUnOrderedEdges()
          {
              using (TestDatabaseContext testContext = new TestDatabaseContext())
              {
                  using (ODatabase database = new ODatabase(TestConnection.GlobalTestDatabaseAlias))
                  {
                      database.Create.Class<UnorderedWidget>().Extends("V").CreateProperties().Run();
                      database.Create.Class<WidgetVersion>().Extends("V").CreateProperties().Run();

                      database.Create.Class("VersionOf").Extends("E").Run();
                      database.Command(string.Format("create property {0}.out link {1}", "VersionOf", typeof(WidgetVersion).Name));
                      database.Command(string.Format("create property {0}.in link {1}", "VersionOf", typeof(UnorderedWidget).Name));


                      var w1 = new UnorderedWidget() { Value = 12 };
                      var wv1 = new WidgetVersion() { Value = 23 };
                      var wv2 = new WidgetVersion() { Value = 34 };

                      var v1 = database.Create.Vertex(w1).Run();
                      var v2 = database.Create.Vertex(wv1).Run();
                      var v3 = database.Create.Vertex(wv2).Run();

                      database.Create.Edge("VersionOf").From(v1).To(v2).Run();
                      database.Create.Edge("VersionOf").From(v1).To(v3).Run();

                      var loaded1 = database.Load.ORID(v1.ORID).Run();
                      var typed1 = loaded1.To<UnorderedWidget>();
                      Assert.AreEqual(2, typed1.out_VersionOf.Count);
                      Assert.AreEqual(12, typed1.Value);

                      var loaded2 = database.Load.ORID(v2.ORID).Run();
                      var typed2 = loaded2.To<WidgetVersion>();
                      Assert.AreNotEqual(null, typed2.in_VersionOf);

                  }
              }
          }