GenerateIdentitiesSample() { var sample = new QualifiedElement(); var expected = new[] { new IdentityElement(sample, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"), new IdentityElement(sample, ScopeCategories.Public, IdentityCategories.Namespace, "Piyo") }; yield return(sample, expected); var storage = new PhysicalStorage(PathA); var ns = new NameSpaceElement(storage); sample = new QualifiedElement(ns); expected = new[] { new IdentityElement(sample, "Foo"), new IdentityElement(sample, "Bar") }; yield return(sample, expected); ns = new NameSpaceElement(ns); sample = new QualifiedElement(ns); expected = new[] { new IdentityElement(sample, "System"), new IdentityElement(sample, "Collections") }; yield return(sample, expected); }
protected override IEnumerable <(IdentityElement sample, IDiscriminatedElement expected)> GenerateParentSample() { var expected = new QualifiedElement(); var sample = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); yield return(sample, expected); }
protected override IEnumerable <(IQualified x, IQualified y, IQualified z)> GenerateEquivalentSample() { var x = new QualifiedElement(); var y = new QualifiedElement(); var z = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); _ = new IdentityElement(z, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); yield return(x, y, z); x = new QualifiedElement(new NameSpaceElement(new PhysicalStorage(PathA))); y = new QualifiedElement(new NameSpaceElement(new PhysicalStorage(PathB))); z = new QualifiedElement(new NameSpaceElement(new PhysicalStorage(PathA))); _ = new IdentityElement(x, "Hoge"); _ = new IdentityElement(y, "Hoge"); _ = new IdentityElement(z, "Hoge"); yield return(x, y, z); _ = new IdentityElement(x, "Piyo"); _ = new IdentityElement(y, "Piyo"); _ = new IdentityElement(z, "Piyo"); yield return(x, y, z); }
GenerateAggregateIdentitiesSample() { var sample = new NameSpaceElement(); var nme = new QualifiedElement(sample); var expected = new Stack <(ScopeCategories, IdentityCategories category, string identity)>(); yield return(sample, expected); _ = new IdentityElement(nme, "Hoge"); _ = new IdentityElement(nme, "Piyo"); expected.Push((ScopeCategories.Public, IdentityCategories.Namespace, "Piyo")); expected.Push((ScopeCategories.Public, IdentityCategories.Namespace, "Hoge")); yield return(sample, expected); sample = new NameSpaceElement(sample); nme = new QualifiedElement(sample); _ = new IdentityElement(nme, "Foo"); _ = new IdentityElement(nme, "Bar"); expected.Count.Is(0); expected.Push((ScopeCategories.Public, IdentityCategories.Namespace, "Bar")); expected.Push((ScopeCategories.Public, IdentityCategories.Namespace, "Foo")); yield return(sample, expected); }
GenerateLogicallyTransitiveSample() { var storage = new PhysicalStorage(PathA); var x = new NameSpaceElement(storage); var q = new QualifiedElement(x); _ = new IdentityElement(q, "Tokeiya3"); _ = new IdentityElement(q, "SharpSourceFinder"); var y = new NameSpaceElement(storage); q = new QualifiedElement(y); _ = new IdentityElement(q, "Tokeiya3"); _ = new IdentityElement(q, "SharpSourceFinder"); storage = new PhysicalStorage(PathB); var z = new NameSpaceElement(storage); q = new QualifiedElement(z); _ = new IdentityElement(q, "Tokeiya3"); _ = new IdentityElement(q, "SharpSourceFinder"); yield return(x, y, z); }
GenerateGetAncestorsSample() { var ns = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(ns); var sample = new IdentityElement(q, "Identity"); yield return(sample, new IDiscriminatedElement[] { q, ns });
GenerateQualifiedNameSample() { var sample = new NameSpaceElement(new PhysicalStorage(PathA)); var expected = new QualifiedElement(sample); yield return(sample, expected); _ = new IdentityElement(expected, "Foo"); _ = new IdentityElement(expected, "Bar"); yield return(sample, expected); sample = new NameSpaceElement(sample); expected = new QualifiedElement(sample); _ = new IdentityElement(expected, "Hoge"); _ = new IdentityElement(expected, "Piyo"); expected = sample.GetQualifiedName(); expected.Identities.Count.Is(4); foreach (var elem in expected.Identities) { elem.Category.Is(IdentityCategories.Namespace); elem.From.Is(expected); } expected.Identities[0].Name.Is("Foo"); expected.Identities[1].Name.Is("Bar"); expected.Identities[2].Name.Is("Hoge"); expected.Identities[3].Name.Is("Piyo"); yield return(sample, expected); }
expectedFrom)> GenerateSample() { var q = new QualifiedElement(); var sample = new IdentityElement(q, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); yield return(sample, "Hoge", ScopeCategories.Public, IdentityCategories.Class, q); }
static (QualifiedElement, IReadOnlyList <IdentityElement>) AttachName(IDiscriminatedElement element, params string[] names) { var q = new QualifiedElement(element); var id = names.Select(n => new IdentityElement(q, n)).ToArray(); return(q, id); }
GenerateErrSample() { var sample = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(); yield return(sample, q); }
GeneratePhysicalStorageSample() { var storage = new PhysicalStorage(PathA); var ns = new NameSpaceElement(storage); var q = new QualifiedElement(ns); var sample = new IdentityElement(q, "Name"); yield return(sample, storage); }
protected override IEnumerable <(IdentityElement x, IdentityElement y)> GenerateLogicallyInEquivalentSample() { var qx = new QualifiedElement(); var x = new IdentityElement(qx, ScopeCategories.Public, IdentityCategories.Delegate, "Hoge"); var qy = new QualifiedElement(); var y = new IdentityElement(qy, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); yield return(x, y); }
static IQualified AttachName(IDiscriminatedElement target, params string[] name) { var q = new QualifiedElement(target); foreach (var s in name) { _ = new IdentityElement(q, s); } return(q); }
static QualifiedElement AttachName(IDiscriminatedElement target, params string[] names) { var ret = new QualifiedElement(target); foreach (var name in names) { _ = new IdentityElement(ret, name); } return(ret); }
static QualifiedElement AttachName(IDiscriminatedElement element, params string[] names) { var q = new QualifiedElement(element); foreach (var name in names) { _ = new IdentityElement(q, name); } return(q); }
protected override IEnumerable <(IdentityElement x, IdentityElement y)> GeneratePhysicallyInEqualitySample() { var ns = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(ns); var x = new IdentityElement(q, "Foo"); ns = new NameSpaceElement(new PhysicalStorage(PathB)); q = new QualifiedElement(ns); var y = new IdentityElement(q, "Foo"); yield return(x, y); }
static (QualifiedElement, IReadOnlyList <IdentityElement>) AttachName(IDiscriminatedElement element, params string[] names) { var list = new List <IdentityElement>(); var ret = new QualifiedElement(element); foreach (var name in names) { list.Add(new IdentityElement(ret, name)); } return(ret, list); }
GenerateLogicallyInEquivalentSample() { var storage = new PhysicalStorage(PathA); var x = new NameSpaceElement(storage); var q = new QualifiedElement(x); _ = new IdentityElement(q, "Tokeiya3"); var y = new NameSpaceElement(storage); _ = new IdentityElement(new QualifiedElement(y), "tokeiya3"); yield return(x, y); }
GeneratePhysicallyTransitiveSample() { var ns = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(ns); var x = new IdentityElement(q, "Foo"); ns = new NameSpaceElement(new PhysicalStorage(PathA)); q = new QualifiedElement(ns); var y = new IdentityElement(q, "Foo"); ns = new NameSpaceElement(new PhysicalStorage(PathA)); q = new QualifiedElement(ns); var z = new IdentityElement(q, "Foo"); yield return(x, y, z); }
GenerateLogicallyTransitiveSample() { var storage = new PhysicalStorage(PathA); var ns = new NameSpaceElement(storage); var qx = new QualifiedElement(ns); var x = new IdentityElement(qx, "Hoge"); ns = new NameSpaceElement(new PhysicalStorage(PathB)); var qy = new QualifiedElement(ns); var y = new IdentityElement(qy, "Hoge"); ns = new NameSpaceElement(new PhysicalStorage(PathB)); var qz = new QualifiedElement(ns); var z = new IdentityElement(qz, "Hoge"); yield return(x, y, z); }
protected override IEnumerable <(EnumElement sample, IQualified expected)> GenerateQualifiedNameSample() { var ns = new NameSpaceElement(new PhysicalStorage(PathA)); AttachName(ns, NameSpaceA); var sample = new EnumElement(ns, ScopeCategories.Public); AttachName(sample, "Sample"); var expected = new QualifiedElement(); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Namespace, NameSpaceA); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Enum, "Sample"); yield return(sample, expected); }
public void OrderedEquivalentTest() { var x = new QualifiedElement(); var y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Bar"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); x.IsEquivalentTo(y, 1).IsTrue(); y.IsEquivalentTo(x, 1).IsTrue(); x.IsEquivalentTo(y, 2).IsFalse(); y.IsEquivalentTo(x, 2).IsFalse(); Assert.Throws <ArgumentOutOfRangeException>(() => x.IsEquivalentTo(y, 0)); }
GeneratePhysicallyInEqualitySample() { var x = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(x); _ = new IdentityElement(q, "Tokeiya3"); var y = new NameSpaceElement(new PhysicalStorage(PathA)); _ = new IdentityElement(new QualifiedElement(y), "tokeiya3"); yield return(x, y); x = new NameSpaceElement(new PhysicalStorage(PathA)); _ = new IdentityElement(new QualifiedElement(x), "Tokeiya3"); y = new NameSpaceElement(new PhysicalStorage(PathB)); _ = new IdentityElement(new QualifiedElement(y), "Tokeiya3"); yield return(x, y); }
protected override IEnumerable <(IIdentity x, IIdentity y)> GenerateInEquivalentSample() { var q = new QualifiedElement(); var x = new IdentityElement(q, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); var y = new IdentityElement(q, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); yield return(x, y); x = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); y = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Hoge"); yield return(x, y); x = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Foo"); y = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Bar"); yield return(x, y); x = new IdentityElement(new QualifiedElement(), ScopeCategories.Internal, IdentityCategories.Class, "Foo"); y = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Foo"); yield return(x, y); }
protected override IEnumerable <(InterfaceElement sample, IQualified expected)> GenerateQualifiedNameSample() { IDiscriminatedElement parent = new NameSpaceElement(new PhysicalStorage(PathA)); AttachName(parent, "NameSpace"); parent = new ClassElement(parent, ScopeCategories.Public, false, false, false, false, false); AttachName(parent, "Class"); var sample = new InterfaceElement(parent, ScopeCategories.Public, false, false); AttachName(sample, "ISample"); var expected = new QualifiedElement(); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Namespace, "NameSpace"); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Class, "Class"); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Interface, "ISample"); yield return(sample, expected); }
GenerateDescendantsSample() { var list = new List <IDiscriminatedElement>(); var ns = new NameSpaceElement(new PhysicalStorage(PathA)); AttachName(ns, NameSpaceA); var sample = new InterfaceElement(ns, ScopeCategories.Public, false, false); var q = new QualifiedElement(sample); list.Add(q); list.Add(new IdentityElement(q, "ISample")); IDiscriminatedElement child = new ClassElement(sample, ScopeCategories.Public, false, false, false, false, false); q = new QualifiedElement(child); list.Add(child); list.Add(q); list.Add(new IdentityElement(q, "InnerClass")); child = new StructElement(sample, ScopeCategories.Public, false, false); q = new QualifiedElement(child); list.Add(child); list.Add(q); list.Add(new IdentityElement(q, "InnerStruct")); yield return(sample, list); child = new StructElement(child, ScopeCategories.Public, false, false); q = new QualifiedElement(child); list.Add(child); list.Add(q); list.Add(new IdentityElement(q, "InnerInner")); yield return(sample, list); }
protected override IEnumerable <(IQualified x, IQualified y)> GenerateInEquivalentSample() { var x = new QualifiedElement(); var y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Delegate, "Hoge"); yield return(x, y); x = new QualifiedElement(); y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "hoge"); yield return(x, y); x = new QualifiedElement(); y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); _ = new IdentityElement(y, ScopeCategories.Internal, IdentityCategories.Class, "Hoge"); yield return(x, y); }
GenerateDescendantsSample() { var expected = new List <IDiscriminatedElement>(); var sample = new NameSpaceElement(new PhysicalStorage(PathA)); var name = new QualifiedElement(sample); var elem = new IdentityElement(name, "Tokeiya3"); expected.Add(name); expected.Add(elem); var a = new NameSpaceElement(sample); name = new QualifiedElement(a); elem = new IdentityElement(name, "SharpSourceFinder"); expected.Add(a); expected.Add(name); expected.Add(elem); yield return(sample, expected); }
protected override IEnumerable <(IIdentity sample, int expected)> GenerateOrderSample() { var q = new QualifiedElement(); return(new (IIdentity sample, int expected)[]