Example #1
0
        public AbstractSemanticObject[] BuildBs()
        {
            AbstractSemanticObject[] result = new AbstractSemanticObject[5];
            SemanticObjectA          a      = new SemanticObjectA();
            SemanticObjectC          lastC  = null;

            for (int i = 0; i < 5; i++)
            {
                SemanticObjectB b = new SemanticObjectB
                {
                    IntProperty    = i,
                    StringProperty = s_SomeStrings[i]
                };

                for (int j = 0; j < 10; j++)
                {
                    SemanticObjectC c = new SemanticObjectC
                    {
                        B = b,
                        A = a
                    };
                    lastC = c;
                }

                b.A       = a;
                result[i] = b;
            }

            // this creates a loop, as it is downstream, but not a collection
            a.C = lastC;
            return(result);
        }
Example #2
0
        public void ToLimitedStringTest()
        {
            List <AbstractSemanticObject> all = new List <AbstractSemanticObject>(BuildBs());
            AbstractSemanticObject        aB  = all[0];
            SemanticObjectB aBasB             = (SemanticObjectB)aB;

            all.Add(aBasB.A);
            all.AddRange(aBasB.Cs.Cast <AbstractSemanticObject>());
            foreach (AbstractSemanticObject aso in all)
            {
                string result = aso.LimitedToString();
                Trace.WriteLine(result);
                Trace.Flush();
            }
        }
Example #3
0
        public void EqualsTest()
        {
            List <AbstractSemanticObject> all = new List <AbstractSemanticObject>(BuildBs());
            AbstractSemanticObject        aB  = all[0];
            SemanticObjectB aBasB             = (SemanticObjectB)aB;

            all.Add(aBasB.A);
            all.AddRange(aBasB.Cs.Cast <AbstractSemanticObject>());
            bool result = false;

            foreach (AbstractSemanticObject aso1 in all)
            {
                foreach (AbstractSemanticObject aso2 in all)
                {
                    result = aso1.Equals(aso2);
                    Assert.AreEqual(result, result);
                }

                result = aso1.Equals(null);
            }

            Assert.AreEqual(result, result);
        }