コード例 #1
0
        public async Task UnrelatedFiles()
        {
            const string code    = @"
from bar import baz

class spam:
    __bug__ = 0

def eggs(ham: spam):
    return baz(ham.__bug__)
";
            const string barCode = @"
def baz(quux):
    pass
";
            await TestData.CreateTestSpecificFileAsync("bar.py", barCode);

            var analysis = await GetAnalysisAsync(code);

            var rs   = new ReferenceSource(Services);
            var refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(5, 8), ReferenceSearchOptions.All);

            refs.Should().HaveCount(2);

            refs[0].range.Should().Be(4, 4, 4, 11);
            refs[0].uri.Should().Be(analysis.Document.Uri);
            refs[1].range.Should().Be(7, 19, 7, 26);
            refs[1].uri.Should().Be(analysis.Document.Uri);
        }
コード例 #2
0
        /// <summary>
        /// Resolve the properties of the current <see cref="Citation"/> from its <see cref="DTO.Thing"/> counter-part
        /// </summary>
        /// <param name="dtoThing">The source <see cref="DTO.Thing"/></param>
        internal override void ResolveProperties(DTO.Thing dtoThing)
        {
            if (dtoThing == null)
            {
                throw new ArgumentNullException("dtoThing");
            }

            var dto = dtoThing as DTO.Citation;

            if (dto == null)
            {
                throw new InvalidOperationException(string.Format("The DTO type {0} does not match the type of the current Citation POCO.", dtoThing.GetType()));
            }

            this.ExcludedDomain.ResolveList(dto.ExcludedDomain, dto.IterationContainerId, this.Cache);
            this.ExcludedPerson.ResolveList(dto.ExcludedPerson, dto.IterationContainerId, this.Cache);
            this.IsAdaptation    = dto.IsAdaptation;
            this.Location        = dto.Location;
            this.ModifiedOn      = dto.ModifiedOn;
            this.Remark          = dto.Remark;
            this.RevisionNumber  = dto.RevisionNumber;
            this.ShortName       = dto.ShortName;
            this.Source          = this.Cache.Get <ReferenceSource>(dto.Source, dto.IterationContainerId) ?? SentinelThingProvider.GetSentinel <ReferenceSource>();
            this.ThingPreference = dto.ThingPreference;

            this.ResolveExtraProperties();
        }
        public void Verify_that_when_referenced_DeprecatableThing_Is_Deprecated_result_is_returned()
        {
            var organization = new Organization
            {
                Iid          = Guid.Parse("9f4daf6a-09e2-4ed5-a8be-79a0765654ca"),
                ShortName    = "RHEA",
                IsDeprecated = true
            };

            var referencedReferenceSource = new ReferenceSource
            {
                Iid          = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"),
                ShortName    = "REFERENCED-SOURCE",
                IsDeprecated = true
            };

            this.referenceSource.Publisher   = organization;
            this.referenceSource.PublishedIn = referencedReferenceSource;

            var results = this.referenceSourceRuleChecker.ChecksWhetherAReferencedDeprecatableThingIsDeprecated(this.referenceSource);

            var first = results.First();

            Assert.That(first.Id, Is.EqualTo("MA-0500"));
            Assert.That(first.Description, Is.EqualTo("The referenced Organization 9f4daf6a-09e2-4ed5-a8be-79a0765654ca:RHEA of ReferenceSource.Publisher is deprecated"));
            Assert.That(first.Thing, Is.EqualTo(this.referenceSource));
            Assert.That(first.Severity, Is.EqualTo(SeverityKind.Warning));

            var last = results.Last();

            Assert.That(last.Id, Is.EqualTo("MA-0500"));
            Assert.That(last.Description, Is.EqualTo("The referenced ReferenceSource 3c44c0e3-d2de-43f9-9636-8235984dc4bf:REFERENCED-SOURCE of ReferenceSource.PublishedIn is deprecated"));
            Assert.That(last.Thing, Is.EqualTo(this.referenceSource));
            Assert.That(last.Severity, Is.EqualTo(SeverityKind.Warning));
        }
        public void Verify_that_when_Container_is_ReferenceDataLibrary_and_ReferenceSource_is_not_in_chain_of_Rdls_result_is_returned()
        {
            var otherSiteReferenceDataLibrary = new SiteReferenceDataLibrary();

            this.siteDirectory.SiteReferenceDataLibrary.Add(otherSiteReferenceDataLibrary);
            var referenceSource = new ReferenceSource {
                Iid = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"), ShortName = "SOURCE"
            };

            otherSiteReferenceDataLibrary.ReferenceSource.Add(referenceSource);

            var siteReferenceDataLibrary = new SiteReferenceDataLibrary();
            var category           = new Category();
            var categoryDefinition = new Definition();
            var categoryCitation   = new Citation();

            categoryCitation.Source = referenceSource;

            this.siteDirectory.SiteReferenceDataLibrary.Add(siteReferenceDataLibrary);
            siteReferenceDataLibrary.DefinedCategory.Add(category);
            category.Definition.Add(categoryDefinition);
            categoryDefinition.Citation.Add(categoryCitation);

            var result = this.citationRuleChecker.CheckWhetherReferencedReferenceSourceIsInChainOfRdls(categoryCitation).Single();

            Assert.That(result.Id, Is.EqualTo("MA-0260"));
            Assert.That(result.Description, Is.EqualTo("The referenced ReferenceSource 3c44c0e3-d2de-43f9-9636-8235984dc4bf:SOURCE of Citation.Source is not in the chain of Reference Data Libraries"));
            Assert.That(result.Severity, Is.EqualTo(SeverityKind.Error));
            Assert.That(result.Thing, Is.EqualTo(categoryCitation));
        }
コード例 #5
0
        public async Task DelStatement2()
        {
            const string code     = @"
def func1(a, b):
    return a+b

def func2(a, b):
    return a+b

del (func1, func2)
";
            var          analysis = await GetAnalysisAsync(code);

            var rs   = new ReferenceSource(Services);
            var refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(8, 6), ReferenceSearchOptions.All);

            refs.Should().HaveCount(2);
            refs[0].range.Should().Be(1, 4, 1, 9);
            refs[0].uri.Should().Be(analysis.Document.Uri);
            refs[1].range.Should().Be(7, 5, 7, 10);
            refs[1].uri.Should().Be(analysis.Document.Uri);

            refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(8, 14), ReferenceSearchOptions.All);

            refs.Should().HaveCount(2);
            refs[0].range.Should().Be(4, 4, 4, 9);
            refs[0].uri.Should().Be(analysis.Document.Uri);
            refs[1].range.Should().Be(7, 12, 7, 17);
            refs[1].uri.Should().Be(analysis.Document.Uri);
        }
コード例 #6
0
        public void VerifyThatRdlShortnameIsUpdated()
        {
            var vm = new ReferenceSourceBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null);

            var sRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri);

            sRdl.Container = this.siteDirectory;

            var rs = new ReferenceSource(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "rs1", ShortName = "1", Container = sRdl
            };
            var rs2 = new ReferenceSource(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "rs2", ShortName = "2", Container = sRdl
            };

            CDPMessageBus.Current.SendObjectChangeEvent(rs, EventKind.Added);
            CDPMessageBus.Current.SendObjectChangeEvent(rs2, EventKind.Added);

            var rev = typeof(Thing).GetProperty("RevisionNumber");

            rev.SetValue(sRdl, 3);
            sRdl.ShortName = "test";

            CDPMessageBus.Current.SendObjectChangeEvent(sRdl, EventKind.Updated);
            Assert.IsTrue(vm.ReferenceSources.Count(x => x.ContainerRdl == "test") == 2);
        }
コード例 #7
0
ファイル: MatchWith.cs プロジェクト: yongaru/fuse-studio
        public static T MatchWith <T>(
            this ReferenceSource self,
            Func <BundleFileSource, T> a1,
            Func <NodeSource, T> a2,
            Func <UXPropertySource, T> a3,
            Func <UXPropertyAccessorSource, T> a4)
        {
            var t1 = self as BundleFileSource; if (t1 != null)
            {
                return(a1(t1));
            }
            var t2 = self as NodeSource; if (t2 != null)
            {
                return(a2(t2));
            }
            var t3 = self as UXPropertySource; if (t3 != null)
            {
                return(a3(t3));
            }
            var t4 = self as UXPropertyAccessorSource; if (t4 != null)

            {
                return(a4(t4));
            }

            throw new ArgumentException();
        }
コード例 #8
0
        public void VerifyThatReferenceSourceFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var referenceSource1       = new ReferenceSource(Guid.NewGuid(), null, null);
            var referenceSource2       = new ReferenceSource(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.ReferenceSource.Add(referenceSource1);
            siterefenceDataLibrary.ReferenceSource.Add(referenceSource2);
            this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);
            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var referenceSource3          = new ReferenceSource(Guid.NewGuid(), null, null);
            var referenceSource4          = new ReferenceSource(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.ReferenceSource.Add(referenceSource3);
            modelReferenceDataLibrary.ReferenceSource.Add(referenceSource4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDirectory.Model.Add(engineeringModelSetup);
            this.openRdlList = new List <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            };
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(new HashSet <ReferenceDataLibrary>(this.openRdlList));

            var browser = new ReferenceSourceBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null);

            Assert.AreEqual(4, browser.ReferenceSources.Count);
        }
コード例 #9
0
        /// <summary>
        /// Serialize the <see cref="ReferenceSource"/>
        /// </summary>
        /// <param name="referenceSource">The <see cref="ReferenceSource"/> to serialize</param>
        /// <returns>The <see cref="JObject"/></returns>
        private JObject Serialize(ReferenceSource referenceSource)
        {
            var jsonObject = new JObject();

            jsonObject.Add("alias", this.PropertySerializerMap["alias"](referenceSource.Alias.OrderBy(x => x, this.guidComparer)));
            jsonObject.Add("author", this.PropertySerializerMap["author"](referenceSource.Author));
            jsonObject.Add("category", this.PropertySerializerMap["category"](referenceSource.Category.OrderBy(x => x, this.guidComparer)));
            jsonObject.Add("classKind", this.PropertySerializerMap["classKind"](Enum.GetName(typeof(CDP4Common.CommonData.ClassKind), referenceSource.ClassKind)));
            jsonObject.Add("definition", this.PropertySerializerMap["definition"](referenceSource.Definition.OrderBy(x => x, this.guidComparer)));
            jsonObject.Add("excludedDomain", this.PropertySerializerMap["excludedDomain"](referenceSource.ExcludedDomain.OrderBy(x => x, this.guidComparer)));
            jsonObject.Add("excludedPerson", this.PropertySerializerMap["excludedPerson"](referenceSource.ExcludedPerson.OrderBy(x => x, this.guidComparer)));
            jsonObject.Add("hyperLink", this.PropertySerializerMap["hyperLink"](referenceSource.HyperLink.OrderBy(x => x, this.guidComparer)));
            jsonObject.Add("iid", this.PropertySerializerMap["iid"](referenceSource.Iid));
            jsonObject.Add("isDeprecated", this.PropertySerializerMap["isDeprecated"](referenceSource.IsDeprecated));
            jsonObject.Add("language", this.PropertySerializerMap["language"](referenceSource.Language));
            jsonObject.Add("modifiedOn", this.PropertySerializerMap["modifiedOn"](referenceSource.ModifiedOn));
            jsonObject.Add("name", this.PropertySerializerMap["name"](referenceSource.Name));
            jsonObject.Add("publicationYear", this.PropertySerializerMap["publicationYear"](referenceSource.PublicationYear));
            jsonObject.Add("publishedIn", this.PropertySerializerMap["publishedIn"](referenceSource.PublishedIn));
            jsonObject.Add("publisher", this.PropertySerializerMap["publisher"](referenceSource.Publisher));
            jsonObject.Add("revisionNumber", this.PropertySerializerMap["revisionNumber"](referenceSource.RevisionNumber));
            jsonObject.Add("shortName", this.PropertySerializerMap["shortName"](referenceSource.ShortName));
            jsonObject.Add("thingPreference", this.PropertySerializerMap["thingPreference"](referenceSource.ThingPreference));
            jsonObject.Add("versionDate", this.PropertySerializerMap["versionDate"](referenceSource.VersionDate));
            jsonObject.Add("versionIdentifier", this.PropertySerializerMap["versionIdentifier"](referenceSource.VersionIdentifier));
            return(jsonObject);
        }
コード例 #10
0
        public void Setup()
        {
            RxApp.MainThreadScheduler         = Scheduler.CurrentThread;
            this.serviceLocator               = new Mock <IServiceLocator>();
            this.thingDialogNavigationService = new Mock <IThingDialogNavigationService>();

            ServiceLocator.SetLocatorProvider(() => this.serviceLocator.Object);
            this.serviceLocator.Setup(x => x.GetInstance <IThingDialogNavigationService>()).Returns(this.thingDialogNavigationService.Object);
            this.session         = new Mock <ISession>();
            this.referenceSource = new ReferenceSource(Guid.NewGuid(), null, null)
            {
                Name = "Referencesource", ShortName = "RSO", IsDeprecated = true,
            };
            this.siteDirectory = new SiteDirectory(Guid.NewGuid(), null, null);

            var transactionContext = TransactionContextResolver.ResolveContext(this.siteDirectory);

            this.transaction = new ThingTransaction(transactionContext, null);

            var dal = new Mock <IDal>();

            this.session.Setup(x => x.DalVersion).Returns(new Version(1, 1, 0));
            this.session.Setup(x => x.Dal).Returns(dal.Object);
            this.session.Setup(x => x.RetrieveSiteDirectory()).Returns(this.siteDirectory);
            dal.Setup(x => x.MetaDataProvider).Returns(new MetaDataProvider());

            this.permissionService = new Mock <IPermissionService>();
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
        }
コード例 #11
0
        public void VerifyThatCurrentReferenceSourceDoesNotAppearInListOfPossibleReferenceSources()
        {
            var siteRdl = new SiteReferenceDataLibrary()
            {
                ShortName = "GenericRDL"
            };
            var publishedInReferenceSource = new ReferenceSource()
            {
                ShortName = "somebook", Iid = Guid.NewGuid()
            };

            siteRdl.ReferenceSource.Add(publishedInReferenceSource);
            siteRdl.ReferenceSource.Add(this.referenceSource);

            var openRdls = new List <ReferenceDataLibrary> {
                siteRdl
            };

            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(openRdls);

            this.viewmodel = new ReferenceSourceDialogViewModel(this.referenceSource, this.transaction, this.session.Object, true, ThingDialogKind.Create, null, null, null);
            Assert.AreEqual(1, this.viewmodel.PossiblePublishedIn.Count);

            Assert.IsFalse(this.viewmodel.PossiblePublishedIn.Any(x => x.Iid == this.referenceSource.Iid));
        }
コード例 #12
0
 protected AssetTransferWorkItem(AssetServiceInterface dest, AssetServiceInterface source, List <UUID> assetids, ReferenceSource refsource)
 {
     m_DestinationAssetService = dest;
     m_SourceAssetService      = source;
     AssetID       = UUID.Zero;
     m_RefSource   = refsource;
     m_AssetIDList = new List <UUID>(assetids);
 }
コード例 #13
0
 public static Expression GetExpression(this ReferenceSource v, Context ctx)
 {
     return(v.MatchWith(
                (BundleFileSource s) => s.GetExpression(ctx),
                (NodeSource s) => s.Node.GetExpression(ctx),
                (UXPropertySource s) => s.GetPropertyExpression(ctx),
                (UXPropertyAccessorSource s) => s.GetPropertyExpression(ctx)));
 }
コード例 #14
0
        public async Task RemoveReference()
        {
            const string code1 = @"
x = 1

def func(x):
    return x

y = func(x)
x = 2
";
            var          uri1  = TestData.GetDefaultModuleUri();
            var          uri2  = TestData.GetNextModuleUri();

            const string code2 = @"
from module import x, y
a = x
b = y
";

            await CreateServicesAsync(PythonVersions.LatestAvailable3X, uri1.AbsolutePath);

            var rdt  = Services.GetService <IRunningDocumentTable>();
            var doc1 = rdt.OpenDocument(uri1, code1);
            var doc2 = rdt.OpenDocument(uri2, code2);

            var analysis = await GetDocumentAnalysisAsync(doc1);

            var rs   = new ReferenceSource(Services);
            var refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(7, 1), ReferenceSearchOptions.All);

            refs.Should().HaveCount(3);
            refs[0].range.Should().Be(6, 0, 6, 1);
            refs[0].uri.Should().Be(uri1);
            refs[1].range.Should().Be(1, 22, 1, 23);
            refs[1].uri.Should().Be(uri2);
            refs[2].range.Should().Be(3, 4, 3, 5);
            refs[2].uri.Should().Be(uri2);

            doc2.Update(new[] {
                new DocumentChange {
                    InsertedText = string.Empty,
                    ReplacedSpan = new SourceSpan(4, 1, 4, 6)
                },
                new DocumentChange {
                    InsertedText = string.Empty,
                    ReplacedSpan = new SourceSpan(2, 21, 2, 24)
                }
            });
            await GetDocumentAnalysisAsync(doc2);

            refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(7, 1), ReferenceSearchOptions.All);

            refs.Should().HaveCount(1);
            refs[0].range.Should().Be(6, 0, 6, 1);
            refs[0].uri.Should().Be(uri1);
        }
コード例 #15
0
        public void Should_Create_Constructor_For_GetOnlyProperties()
        {
            var generatorFixture = new SmartCodeGeneratorFixture(typeof(OnBuildImmutableConstructorGenerator), new[]
            {
                ReferenceSource.FromType <ImmutableConstructorAttribute>()
            });

            generatorFixture.AssertGeneratedCode(GetOnlyProperties, GetOnlyProperties_Transformed, _ignoreGeneratorVersionPattern);
        }
        public void Verify_that_IsReferenceSourceInChainOfRdls_returns_expected_result()
        {
            var referenceSource = new ReferenceSource();

            Assert.That(this.mRdl.IsReferenceSourceInChainOfRdls(referenceSource), Is.False);

            this.sRdl1.ReferenceSource.Add(referenceSource);
            Assert.That(this.mRdl.IsReferenceSourceInChainOfRdls(referenceSource), Is.True);
        }
コード例 #17
0
        public async Task EmptyAnalysis()
        {
            await GetAnalysisAsync(string.Empty);

            var rs         = new ReferenceSource(Services);
            var references = await rs.FindAllReferencesAsync(null, new SourceLocation(1, 1), ReferenceSearchOptions.All);

            references.Should().BeEmpty();
        }
        /// <summary>
        /// Removes a <see cref="ReferenceSourceRowViewModel"/> from the view model
        /// </summary>
        /// <param name="referenceSource">
        /// The <see cref="ReferenceSource"/> for which the row view model has to be removed
        /// </param>
        private void RemoveReferenceSourceRowViewModel(ReferenceSource referenceSource)
        {
            var row = this.ReferenceSources.SingleOrDefault(rowViewModel => rowViewModel.Thing == referenceSource);

            if (row != null)
            {
                this.ReferenceSources.RemoveAndDispose(row);
            }
        }
コード例 #19
0
        public void should_be_able_to_generate_mapping_interface_implementation_using_custom_mappers()
        {
            var generatorFixture = new SmartCodeGeneratorFixture(typeof(OnBuildMappingGenerator), new[]
            {
                ReferenceSource.FromType <MappingInterface>()
            });


            generatorFixture.AssertGeneratedCode(_003_ExternalTypeMappers, _003_ExternalTypeMappers_TRANSFORMED, IgnoreGeneratorVersionPattern);
        }
        public void SetUp()
        {
            this.referenceSourceRuleChecker = new ReferenceSourceRuleChecker();

            this.siteReferenceDataLibrary = new SiteReferenceDataLibrary();
            this.referenceSource          = new ReferenceSource {
                Iid = Guid.Parse("27fc9848-a2cd-4ecd-a4d0-dae1f87cb659"), ShortName = "SOURCE"
            };
            this.siteReferenceDataLibrary.ReferenceSource.Add(this.referenceSource);
        }
        /// <summary>
        /// Adds a <see cref="ReferenceSourceRowViewModel"/>
        /// </summary>
        /// <param name="referenceSource">
        /// The associated <see cref="ReferenceSource"/> for which the row is to be added.
        /// </param>
        private void AddReferenceSourceRowViewModel(ReferenceSource referenceSource)
        {
            if (this.ReferenceSources.Any(x => x.Thing == referenceSource))
            {
                return;
            }

            var row = new ReferenceSourceRowViewModel(referenceSource, this.Session, this);

            this.ReferenceSources.Add(row);
        }
コード例 #22
0
        public void should_be_able_to_generate_mapping_interface_implementation()
        {
            var generatorFixture = new SmartCodeGeneratorFixture(typeof(OnBuildMappingGenerator), new[]
            {
                ReferenceSource.FromType <MappingInterface>(),
                ReferenceSource.FromType(typeof(ImmutableArray <>)),
            });


            generatorFixture.AssertGeneratedCode(_001_SimpleMappingInterface, _001_SimpleMappingInterface_TRANSFORMED, IgnoreGeneratorVersionPattern);
        }
コード例 #23
0
 protected AssetTransferWorkItem(AssetServiceInterface dest, AssetServiceInterface source, UUID assetid, ReferenceSource refsource)
 {
     m_DestinationAssetService = dest;
     m_SourceAssetService      = source;
     AssetID       = assetid;
     m_RefSource   = refsource;
     m_AssetIDList = new List <UUID>
     {
         assetid
     };
 }
        public void Verify_that_QueryReferenceSourcesFromChainOfRdls_returns_expected_result()
        {
            var mRdl_ReferenceSource   = new ReferenceSource(Guid.NewGuid(), null, null);
            var sRdl1_ReferenceSource  = new ReferenceSource(Guid.NewGuid(), null, null);
            var sRdl11_ReferenceSource = new ReferenceSource(Guid.NewGuid(), null, null);

            this.mRdl.ReferenceSource.Add(mRdl_ReferenceSource);
            this.sRdl1.ReferenceSource.Add(sRdl1_ReferenceSource);
            this.sRdl11.ReferenceSource.Add(sRdl11_ReferenceSource);

            Assert.That(new List <ReferenceSource> {
                mRdl_ReferenceSource, sRdl1_ReferenceSource, sRdl11_ReferenceSource
            }, Is.EquivalentTo(this.mRdl.QueryReferenceSourcesFromChainOfRdls()));
        }
        public void Verify_that_when_ReferenceSource_is_in_chain_of_Rdls_no_result_is_returned()
        {
            var referenceSource = new ReferenceSource {
                Iid = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"), ShortName = "SOURCE"
            };

            this.modelReferenceDataLibrary.ReferenceSource.Add(referenceSource);

            this.externalIdentifierMap.ExternalFormat = referenceSource;

            var results = this.externalIdentifierMapRuleChecker.CheckWhetherReferencedReferenceSourceIsInChainOfRdls(this.externalIdentifierMap);

            Assert.That(results, Is.Empty);
        }
        public void Verify_that_when_Container_is_EngineeringModel_and_ReferenceSource_is_in_chain_of_Rdls_no_result_is_returned()
        {
            var referenceSource = new ReferenceSource {
                Iid = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"), ShortName = "SOURCE"
            };

            this.modelReferenceDataLibrary.ReferenceSource.Add(referenceSource);

            this.citation.Source = referenceSource;

            var results = this.citationRuleChecker.CheckWhetherReferencedReferenceSourceIsInChainOfRdls(this.citation);

            Assert.That(results, Is.Empty);
        }
        public void Verify_that_when_ReferenceSource_is_in_chain_of_Rdls_no_result_is_returned()
        {
            var referencedReferenceSource = new ReferenceSource {
                Iid = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"), ShortName = "REFERENCED-SOURCE"
            };

            this.siteReferenceDataLibrary.ReferenceSource.Add(referencedReferenceSource);

            this.referenceSource.PublishedIn = referencedReferenceSource;

            var results = this.referenceSourceRuleChecker.CheckWhetherReferencedReferenceSourceIsInChainOfRdls(this.referenceSource);

            Assert.That(results, Is.Empty);
        }
        public void Verify_that_when_referenced_DeprecatableThing_Is_not_Deprecated_no_result_is_returned()
        {
            var referenceSource = new ReferenceSource
            {
                Iid          = Guid.Parse("3c44c0e3-d2de-43f9-9636-8235984dc4bf"),
                ShortName    = "SOURCE",
                IsDeprecated = false
            };

            this.externalIdentifierMap.ExternalFormat = referenceSource;

            var results = this.externalIdentifierMapRuleChecker.ChecksWhetherAReferencedDeprecatableThingIsDeprecated(this.externalIdentifierMap);

            Assert.That(results, Is.Empty);
        }
コード例 #29
0
        public async Task TwoOpenFiles()
        {
            const string code1 = @"
x = 1

def func(x):
    return x

y = func(x)
x = 2
";

            var code2 = $@"
from module1 import x
y = x
";
            var uri1  = await TestData.CreateTestSpecificFileAsync("module1.py", code1);

            var uri2 = await TestData.CreateTestSpecificFileAsync("module2.py", code2);

            await CreateServicesAsync(PythonVersions.LatestAvailable3X, uri1.AbsolutePath);

            var rdt = Services.GetService <IRunningDocumentTable>();

            rdt.OpenDocument(uri1, code1);
            rdt.OpenDocument(uri2, code2);

            var doc1     = rdt.GetDocument(uri1);
            var analysis = await GetDocumentAnalysisAsync(doc1);

            var rs   = new ReferenceSource(Services);
            var refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(7, 10), ReferenceSearchOptions.All);

            refs.Should().HaveCount(5);

            refs[0].range.Should().Be(1, 0, 1, 1);
            refs[0].uri.Should().Be(uri1);
            refs[1].range.Should().Be(6, 9, 6, 10);
            refs[1].uri.Should().Be(uri1);
            refs[2].range.Should().Be(7, 0, 7, 1);
            refs[2].uri.Should().Be(uri1);

            refs[3].range.Should().Be(1, 20, 1, 21);
            refs[3].uri.Should().Be(uri2);
            refs[4].range.Should().Be(2, 4, 2, 5);
            refs[4].uri.Should().Be(uri2);
        }
コード例 #30
0
        public async Task NestedClosedFiles()
        {
            const string code     = @"
x = 1

def func(x):
    return x

y = func(x)
x = 2
";
            const string mod2Code = @"
from module import x
y = x
";
            const string mod3Code = @"
from module2 import x
y = x
";
            var          uri2     = await TestData.CreateTestSpecificFileAsync("module2.py", mod2Code);

            var uri3 = await TestData.CreateTestSpecificFileAsync("module3.py", mod3Code);

            var analysis = await GetAnalysisAsync(code);

            var rs   = new ReferenceSource(Services);
            var refs = await rs.FindAllReferencesAsync(analysis.Document.Uri, new SourceLocation(7, 10), ReferenceSearchOptions.All);

            refs.Should().HaveCount(7);

            refs[0].range.Should().Be(1, 0, 1, 1);
            refs[0].uri.Should().Be(analysis.Document.Uri);
            refs[1].range.Should().Be(6, 9, 6, 10);
            refs[1].uri.Should().Be(analysis.Document.Uri);
            refs[2].range.Should().Be(7, 0, 7, 1);
            refs[2].uri.Should().Be(analysis.Document.Uri);

            refs[3].range.Should().Be(1, 19, 1, 20);
            refs[3].uri.Should().Be(uri2);
            refs[4].range.Should().Be(2, 4, 2, 5);
            refs[4].uri.Should().Be(uri2);

            refs[5].range.Should().Be(1, 20, 1, 21);
            refs[5].uri.Should().Be(uri3);
            refs[6].range.Should().Be(2, 4, 2, 5);
            refs[6].uri.Should().Be(uri3);
        }