예제 #1
0
        //'Logging in' Sort of speak
        static void Main(string[] args)
        {
            Handler         hand = new Handler();
            WilliamsAspects _mr;

            hand.Williams_Aspects.TryGetValue("my reference", out _mr);
            MyReference mr = (MyReference)_mr;

            Console.Write(" > ");
            for (int i = 0; i <= hand.MaxAttempts; i++)
            {
                string a = Console.ReadLine();
                if (mr.isGreetingAccepted(a))
                {
                    break;
                }
                else if (i == hand.MaxAttempts)
                {
                    Console.WriteLine(hand.AnnomTitle + " > I recommend you speak with Mr. Barclay...");
                    Console.WriteLine("---Application Abort Requested---");
                    Console.ReadKey();
                    return;
                }
                else
                {
                    switch (i)
                    {
                    case 0:
                        Console.WriteLine(hand.AnnomTitle + " > I'm Sorry?");
                        Console.Write(" > ");
                        break;

                    case 1:
                        Console.WriteLine(hand.AnnomTitle + " > Pardon?");
                        Console.Write(" > ");
                        break;

                    case 2:
                        Console.WriteLine(hand.AnnomTitle + " > What?");
                        Console.Write(" > ");
                        break;

                    default:
                        Console.WriteLine(hand.AnnomTitle + " > I don't Understand that.");
                        Console.Write(" > ");
                        break;
                    }
                }
            }
            WilliamsAspects wa;

            hand.Williams_Aspects.TryGetValue("startup", out wa);
            StartUp Su = (StartUp)wa;

            hand.WilliamsOutput(Su.WilliamsGreeting());
            hand.Williams_Aspects.TryGetValue("core", out wa);
            Willy.Core.Core c = (Willy.Core.Core)wa;
            c.Start();
            Console.ReadKey();
        }
        public void Equivalence()
        {
            var comparer = CommonReferenceManager <CS.CSharpCompilation, IAssemblySymbol> .MetadataReferenceEqualityComparer.Instance;

            var f1 = MscorlibRef;
            var f2 = SystemCoreRef;

            var i1 = new MetadataImageReference(ProprietaryTestResources.NetFX.v4_0_30319.mscorlib.AsImmutableOrNull(), display: "i1");
            var i2 = new MetadataImageReference(ProprietaryTestResources.NetFX.v4_0_30319.mscorlib.AsImmutableOrNull(), display: "i2");

            var m1a = new MyReference(@"c:\a\foo.dll", display: "m1a");

            Assert.Equal("m1a", ((PortableExecutableReference )m1a).Display);
            var m1b = new MyReference(@"c:\b\..\a\foo.dll", display: "m1b");

            Assert.Equal("m1b", ((PortableExecutableReference)m1b).Display);
            var m2 = new MyReference(@"c:\b\foo.dll", display: "m2");

            Assert.Equal("m2", ((PortableExecutableReference)m2).Display);
            var m3 = new MyReference(null, display: "m3");
            var m4 = new MyReference(null, display: "m4");

            var c1a = CS.CSharpCompilation.Create("foo").ToMetadataReference();
            var c1b = c1a.Compilation.ToMetadataReference();
            var c2  = CS.CSharpCompilation.Create("foo").ToMetadataReference();

            var all = new MetadataReference[] { f1, f2, i1, i2, m1a, m1b, m2, c1a, c1b, c2 };

            foreach (var r in all)
            {
                foreach (var s in all)
                {
                    var eq = comparer.Equals(r, s);

                    if (ReferenceEquals(r, s) ||
                        ReferenceEquals(r, c1a) && ReferenceEquals(s, c1b) ||
                        ReferenceEquals(s, c1a) && ReferenceEquals(r, c1b) ||
                        ReferenceEquals(r, m1a) && ReferenceEquals(s, m1b) ||
                        ReferenceEquals(s, m1a) && ReferenceEquals(r, m1b))
                    {
                        Assert.True(eq, string.Format("expected '{0}' == '{1}'", r.Display, s.Display));
                    }
                    else
                    {
                        Assert.False(eq, string.Format("expected '{0}' != '{1}'", r.Display, s.Display));
                    }
                }
            }
        }
예제 #3
0
        public void Equivalence()
        {
            var comparer = CommonReferenceManager <CS.CSharpCompilation, IAssemblySymbolInternal> .MetadataReferenceEqualityComparer.Instance;

            var f1 = MscorlibRef;
            var f2 = SystemCoreRef;

            var i1 = AssemblyMetadata.CreateFromImage(ResourcesNet451.mscorlib).GetReference(display: "i1");
            var i2 = AssemblyMetadata.CreateFromImage(ResourcesNet451.mscorlib).GetReference(display: "i2");

            var m1a = new MyReference(@"c:\a\goo.dll", display: "m1a");

            Assert.Equal("m1a", m1a.Display);
            var m1b = new MyReference(@"c:\b\..\a\goo.dll", display: "m1b");

            Assert.Equal("m1b", m1b.Display);
            var m2 = new MyReference(@"c:\b\goo.dll", display: "m2");

            Assert.Equal("m2", m2.Display);
            var m3 = new MyReference(null, display: "m3");
            var m4 = new MyReference(null, display: "m4");

            var c1a = CS.CSharpCompilation.Create("goo").ToMetadataReference();
            var c1b = c1a.Compilation.ToMetadataReference();
            var c2  = CS.CSharpCompilation.Create("goo").ToMetadataReference();

            var all = new MetadataReference[] { f1, f2, i1, i2, m1a, m1b, m2, c1a, c1b, c2 };

            foreach (var r in all)
            {
                foreach (var s in all)
                {
                    var eq = comparer.Equals(r, s);

                    if (ReferenceEquals(r, s) ||
                        ReferenceEquals(r, c1a) && ReferenceEquals(s, c1b) ||
                        ReferenceEquals(s, c1a) && ReferenceEquals(r, c1b))
                    {
                        Assert.True(eq, string.Format("expected '{0}' == '{1}'", r.Display, s.Display));
                    }
                    else
                    {
                        Assert.False(eq, string.Format("expected '{0}' != '{1}'", r.Display, s.Display));
                    }
                }
            }
        }
예제 #4
0
 public void AddGreeting()
 {
     try
     {
         WilliamsAspects wa;
         Handler.Inst.Williams_Aspects.TryGetValue("my reference", out wa);
         MyReference mr = (MyReference)wa;
         Handler.Inst.WilliamsOutput("Type in the new greeting:");
         Console.Write(" > ");
         string greeting = Console.ReadLine();
         mr.AcceptedGreetings = SystemUse.AddString(mr.AcceptedGreetings, greeting);
         mr.Save();
         Handler.Inst.WilliamsOutput("Greeting Added Successfully");
     }
     catch (Exception e)
     {
         Console.WriteLine(e.StackTrace);
     }
 }
        public void Equivalence()
        {
            var comparer = CommonReferenceManager<CS.CSharpCompilation, IAssemblySymbol>.MetadataReferenceEqualityComparer.Instance;

            var f1 = MscorlibRef;
            var f2 = SystemCoreRef;

            var i1 = AssemblyMetadata.CreateFromImage(ProprietaryTestResources.NetFX.v4_0_30319.mscorlib).GetReference(display: "i1");
            var i2 = AssemblyMetadata.CreateFromImage(ProprietaryTestResources.NetFX.v4_0_30319.mscorlib).GetReference(display: "i2");

            var m1a = new MyReference(@"c:\a\foo.dll", display: "m1a");
            Assert.Equal("m1a", m1a.Display);
            var m1b = new MyReference(@"c:\b\..\a\foo.dll", display: "m1b");
            Assert.Equal("m1b", m1b.Display);
            var m2 = new MyReference(@"c:\b\foo.dll", display: "m2");
            Assert.Equal("m2", m2.Display);
            var m3 = new MyReference(null, display: "m3");
            var m4 = new MyReference(null, display: "m4");

            var c1a = CS.CSharpCompilation.Create("foo").ToMetadataReference();
            var c1b = c1a.Compilation.ToMetadataReference();
            var c2 = CS.CSharpCompilation.Create("foo").ToMetadataReference();

            var all = new MetadataReference[] { f1, f2, i1, i2, m1a, m1b, m2, c1a, c1b, c2 };
            foreach (var r in all)
            {
                foreach (var s in all)
                {
                    var eq = comparer.Equals(r, s);

                    if (ReferenceEquals(r, s) ||
                        ReferenceEquals(r, c1a) && ReferenceEquals(s, c1b) ||
                        ReferenceEquals(s, c1a) && ReferenceEquals(r, c1b))
                    {
                        Assert.True(eq, string.Format("expected '{0}' == '{1}'", r.Display, s.Display));
                    }
                    else
                    {
                        Assert.False(eq, string.Format("expected '{0}' != '{1}'", r.Display, s.Display));
                    }
                }
            }
        }