Ejemplo n.º 1
0
        public void KeyedItemListHoldsValues()
        {
            {
                KeyedItemList <MyKeyedInt> kil = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1), new MyKeyedInt("b", 2)
                };
                Assert.Contains(new MyKeyedInt(1), kil);
                Assert.Contains(new MyKeyedInt(2), kil);
                Assert.Equal(1, kil["a"]);
                Assert.Equal(2, kil["b"]);
            }

            {
                MyComposite sm1 = new MyComposite {
                    si = 42, ss1 = "foo", ss2 = null, nested = new MyComposite.MyNested {
                        x = 10, y = 20, s = "bar"
                    }, ci = null
                };
                MyComposite sm2 = new MyComposite {
                    si = 42, ss1 = "bar", ss2 = null, nested = new MyComposite.MyNested {
                        x = 10, y = 20, s = "bar"
                    }, ci = null
                };
                KeyedItemList <MyComposite> kil = new KeyedItemList <MyComposite> {
                    sm1, sm2
                };

                Assert.Equal(sm1, kil["foo"]);
                Assert.Same(sm1, kil["foo"]);
                Assert.Equal(sm2, kil["bar"]);
                Assert.Same(sm2, kil["bar"]);
                Assert.Throws <System.Collections.Generic.KeyNotFoundException>(() => kil["ThisKeyShouldNotExist"]);
            }
        }
Ejemplo n.º 2
0
        public void DynamicMapHoldsValues()
        {
            {
                DynamicMap <SingleValue <int> > dm = new DynamicMap <SingleValue <int> > {
                    { "a", 3 }, { "b", 4 }
                };
                Assert.Equal((SingleValue <int>) 3, dm["a"]);
                Assert.Equal((SingleValue <int>) 4, dm["b"]);
            }

            {
                DynamicMap <SingleItem <string> > dm = new DynamicMap <SingleItem <string> > {
                    { "a", "foo" }, { "b", "bar" }
                };
                Assert.Equal((SingleItem <string>) "foo", dm["a"]);
                Assert.Equal((SingleItem <string>) "bar", dm["b"]);
            }

            {
                MyComposite sm = new MyComposite {
                    si = 42, ss1 = "foo", ss2 = null, nested = new MyComposite.MyNested {
                        x = 10, y = 20, s = "bar"
                    }, ci = null
                };
                DynamicMap <ConfigItem> dm = new DynamicMap <ConfigItem> {
                    { "name", (SingleItem <string>) "foo" }, { "number", (SingleValue <int>) 42 }, { "smap", sm }
                };

                Assert.Equal("foo", (SingleItem <string>)dm["name"]);
                Assert.Equal <int>(42, (SingleValue <int>)dm["number"]);
                Assert.Same(sm, dm["smap"]);
                Assert.Throws <System.Collections.Generic.KeyNotFoundException>(() => dm["ThisKeyShouldNotExist"]);
            }
        }
Ejemplo n.º 3
0
        public void Test_Composite()
        {
            int result = -1;

            MyComposite c1 = new MyComposite();

            c1.Add(new MyCompositeLeaf(1));
            c1.Add(new MyCompositeLeaf(2));

            MyComposite c2 = new MyComposite();

            c2.Add(new MyCompositeLeaf(3));
            c2.Add(new MyCompositeLeaf(1));


            MyComposite c0 = new MyComposite();

            c0.Add(c1);
            c0.Add(new MyCompositeLeaf(5));
            c0.Add(c2);

            result = c0.Operation("param0");
            Assert.AreEqual(12, result);

            // access to subchildren
            result = c0.GetChild(0).Operation("param1");
            Assert.AreEqual(3, result);


            // invalid child
            Assert.IsNull(c0.GetChild(-1));
            Assert.IsNull(c0.GetChild(5));
        }
Ejemplo n.º 4
0
        public void DynamicMapAssignmentChangesValue()
        {
            MyComposite sm1 = new MyComposite {
                si = 42, ss1 = "foo", ss2 = null, nested = new MyComposite.MyNested {
                    x = 10, y = 20, s = "bar"
                }, ci = null
            };
            MyComposite sm2 = new MyComposite {
                si = 43, ss1 = "foo", ss2 = null, nested = new MyComposite.MyNested {
                    x = 10, y = 20, s = "bar"
                }, ci = null
            };
            DynamicMap <ConfigItem> dm = new DynamicMap <ConfigItem> {
                { "name", (SingleItem <string>) "foo" }, { "number", (SingleValue <int>) 42 }, { "smap", sm1 }
            };
            DynamicMap <ConfigItem> dm2 = new DynamicMap <ConfigItem> {
                { "name", (SingleItem <string>) "bar" }, { "number", (SingleValue <int>) 40 }, { "smap", sm2 }
            };

            dm.Assign(dm2);

            Assert.Equal("bar", (SingleItem <string>)dm["name"]);
            Assert.Equal <int>(40, (SingleValue <int>)dm["number"]);
            Assert.Equal <int>(43, ((MyComposite)dm["smap"]).si);
            Assert.Same(sm1, dm["smap"]);
        }
Ejemplo n.º 5
0
        public void AddChild_ShouldValidate()
        {
            IMyComposite
                root  = new MyComposite(),
                child = new MyComposite(root);

            Assert.Throws <ArgumentNullException>(() => root.Children.Add(null));
            Assert.Throws <ArgumentException>(() => root.Children.Add(child), Resources.BELONGING_ITEM);
        }
Ejemplo n.º 6
0
        public void Dispose_ShouldRemoveTheChildFromTheParentsChildrenList()
        {
            IMyComposite
                root  = new MyComposite(),
                child = new MyComposite(root);

            new MyComposite(root); // harmadik

            Assert.That(root.Children.Count, Is.EqualTo(2));
            child.Dispose();
            Assert.That(root.Children.Count, Is.EqualTo(1));
        }
Ejemplo n.º 7
0
        public async Task DisposeAsync_ShouldFreeTheChildrenRecursively()
        {
            IMyComposite
                root       = new MyComposite(),
                child      = new MyComposite(root),
                grandChild = new MyComposite(child);

            await root.DisposeAsync();

            Assert.Throws <ObjectDisposedException>(grandChild.Dispose);
            Assert.Throws <ObjectDisposedException>(child.Dispose);
        }
Ejemplo n.º 8
0
        public void Dispose_ShouldFreeTheChildrenRecursively()
        {
            IMyComposite
                                    root       = new MyComposite(),
                                    child      = new MyComposite(root),
                                    grandChild = new MyComposite(child);

            root.Dispose();

            Assert.Throws <ObjectDisposedException>(grandChild.Dispose);
            Assert.Throws <ObjectDisposedException>(child.Dispose);
        }
Ejemplo n.º 9
0
        public void ContainsChild_ShouldDoWhatItsNameSuggests()
        {
            IMyComposite
                root  = new MyComposite(),
                child = new MyComposite();


            Assert.That(root.Children.Contains(child), Is.False);

            root.Children.Add(child);
            Assert.That(root.Children.Contains(child));
        }
Ejemplo n.º 10
0
        public void Parent_ShouldNotBeSetDirectly()
        {
            IMyComposite
                root  = new MyComposite(),
                child = new MyComposite(root);

            Assert.That(child.Parent, Is.EqualTo(root));
            Assert.Throws <InvalidOperationException>(() => child.Parent = null, Resources.CANT_SET_PARENT);

            root.Children.Remove(child);
            Assert.That(child.Parent, Is.Null);
        }
Ejemplo n.º 11
0
        public void RemoveChild_ShouldValidate()
        {
            IMyComposite
                root  = new MyComposite(),
                child = new MyComposite(root);

            Assert.Throws <ArgumentNullException>(() => root.Children.Remove(null));
            Assert.That(() => root.Children.Remove(new MyComposite()), Is.False);

            //
            // Nem lett felszabaditva.
            //

            Assert.DoesNotThrow(child.Dispose);
            Assert.That(root.Children.Count, Is.EqualTo(0));
        }
 public string  SayHi(MyComposite customParam)
 {
     // NOTE! Business logic is properly routed from service layer to business logic layer
     return(BusinessLogicHandler.ADMCompletedDemoService_SayHi(customParam));
 }
Ejemplo n.º 13
0
        public void KeyedItemListEqualsWorks()
        {
            {
                KeyedItemList <MyKeyedInt> kil1 = new KeyedItemList <MyKeyedInt> {
                };
                KeyedItemList <MyKeyedInt> kil2 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1)
                };

                Assert.NotEqual(kil1, kil2);
                Assert.NotEqual(kil2, kil1);
                Assert.False(kil1.Equals(kil2));
                Assert.False(kil2.Equals(kil1));
            }

            {
                KeyedItemList <MyKeyedInt> kil1 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1), new MyKeyedInt("b", 2)
                };
                KeyedItemList <MyKeyedInt> kil2 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1)
                };

                Assert.NotEqual(kil1, kil2);
                Assert.False(kil1.Equals(kil2));
            }

            {
                KeyedItemList <MyKeyedInt> kil1 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1), new MyKeyedInt("b", 2)
                };
                KeyedItemList <MyKeyedInt> kil2 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1), new MyKeyedInt("b", 2), new MyKeyedInt("c", 3)
                };

                Assert.NotEqual(kil1, kil2);
                Assert.False(kil1.Equals(kil2));
            }

            {
                MyComposite sm1 = new MyComposite {
                    si = 42, ss1 = "foo", ss2 = "key is foo", nested = null, ci = null
                };
                MyComposite sm2 = new MyComposite {
                    si = 43, ss1 = "bar", ss2 = "key is bar", nested = new MyComposite.MyNested {
                        x = 10, y = 20, s = "bar"
                    }, ci = null
                };

                KeyedItemList <MyComposite> kil1 = new KeyedItemList <MyComposite> {
                    sm1, sm2
                };
                KeyedItemList <MyComposite> kil2 = new KeyedItemList <MyComposite> {
                    sm2, sm1
                };

                Assert.Equal(kil1, kil2);
                Assert.True(kil1.Equals(kil2));
            }

            {
                KeyedItemList <MyKeyedInt> kil1 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1), new MyKeyedInt("b", 2)
                };
                KeyedItemList <MyKeyedInt> kil2 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("c", 3), new MyKeyedInt("d", 4)
                };

                Assert.NotEqual(kil1, kil2);
                Assert.False(kil1.Equals(kil2));
            }


            {
                KeyedItemList <MyKeyedInt> kil1 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 1), new MyKeyedInt("b", 2)
                };
                KeyedItemList <MyKeyedInt> kil2 = new KeyedItemList <MyKeyedInt> {
                    new MyKeyedInt("a", 2), new MyKeyedInt("b", 1)
                };

                Assert.NotEqual(kil1, kil2);
                Assert.False(kil1.Equals(kil2));
            }

            {
                KeyedItemList <MyKeyedInt> kil = new KeyedItemList <MyKeyedInt>();
                Assert.False(kil.Equals(null));
                Assert.False(kil.Equals((KeyedItemList <MyKeyedInt>)null));
                Assert.False(kil.Equals((ConfigItem)null));
            }
        }
Ejemplo n.º 14
0
 protected override void TestComposite(MyComposite composite)
 {
     composite.TestSideEffectAttribute();
     Assert.IsTrue(_sideEffectInvoked, "Side effect must've been invoked.");
     Assert.IsTrue(_mixinInvoked, "Mixin must've been invoked.");
 }
Ejemplo n.º 15
0
 protected override void TestComposite(MyComposite composite)
 {
     composite.TestConcernAttribute();
     Assert.IsTrue(_concernInvoked, "Concern must've been invoked.");
     Assert.IsTrue(_mixinInvoked, "Mixin must've been invoked.");
 }
Ejemplo n.º 16
0
 protected override void TestComposite(MyComposite composite)
 {
     composite.TestStructureAttribute();
     Assert.IsTrue(_mixinInvoked);
 }