public void StaticCompositeSubscription_Dispose() { var s1 = new MySub(); var s2 = new MySub(); var s3 = new MySub(); var cs = new StaticCompositeSubscription(s1, s2, s3); Assert.AreEqual(0, s1.DisposedCount); Assert.AreEqual(0, s2.DisposedCount); Assert.AreEqual(0, s3.DisposedCount); Assert.AreEqual(3, cs.Count); Assert.IsTrue(new[] { s1, s2, s3 }.SequenceEqual(cs)); Assert.IsTrue(new[] { s1, s2, s3 }.SequenceEqual(((IEnumerable)cs).CastNotSmart <ISubscription>())); cs.Dispose(); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, s2.DisposedCount); Assert.AreEqual(1, s3.DisposedCount); Assert.AreEqual(3, cs.Count); Assert.IsTrue(new[] { s1, s2, s3 }.SequenceEqual(cs)); Assert.IsTrue(new[] { s1, s2, s3 }.SequenceEqual(((IEnumerable)cs).CastNotSmart <ISubscription>())); // Dispose is idempotent cs.Dispose(); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, s2.DisposedCount); Assert.AreEqual(1, s3.DisposedCount); Assert.AreEqual(3, cs.Count); }
public void CompositeSubscription_Dispose() { var cs = new CompositeSubscription(); var s1 = new MySub(); cs.Add(s1); var s2 = new MySub(); cs.Add(s2); var s3 = new MySub(); cs.Add(s3); Assert.AreEqual(0, s1.DisposedCount); Assert.AreEqual(0, s2.DisposedCount); Assert.AreEqual(0, s3.DisposedCount); Assert.AreEqual(3, cs.Count); Assert.IsTrue(new[] { s1, s2, s3 }.SequenceEqual(cs)); Assert.IsTrue(new[] { s1, s2, s3 }.SequenceEqual(((IEnumerable)cs).CastNotSmart <ISubscription>())); cs.Dispose(); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, s2.DisposedCount); Assert.AreEqual(1, s3.DisposedCount); Assert.AreEqual(0, cs.Count); Assert.IsTrue(Enumerable.Empty <ISubscription>().SequenceEqual(cs)); Assert.IsTrue(Enumerable.Empty <ISubscription>().SequenceEqual(((IEnumerable)cs).CastNotSmart <ISubscription>())); var s4 = new MySub(); cs.Add(s4); Assert.AreEqual(1, s4.DisposedCount); Assert.AreEqual(0, cs.Count); Assert.IsTrue(Enumerable.Empty <ISubscription>().SequenceEqual(cs)); Assert.IsTrue(Enumerable.Empty <ISubscription>().SequenceEqual(((IEnumerable)cs).CastNotSmart <ISubscription>())); cs.Dispose(); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, s2.DisposedCount); Assert.AreEqual(1, s3.DisposedCount); Assert.AreEqual(1, s4.DisposedCount); Assert.AreEqual(0, cs.Count); Assert.IsTrue(Enumerable.Empty <ISubscription>().SequenceEqual(cs)); Assert.IsTrue(Enumerable.Empty <ISubscription>().SequenceEqual(((IEnumerable)cs).CastNotSmart <ISubscription>())); }
internal void TopDeals() { User.Click(); MySub.Click(); Exper.Click(); Bottle.Click(); Booknow.Click(); Promotion.Click(); Save.Click(); ValidateMysub(); }
public void StaticCompositeSubscription_AddRemove_Throws() { var cs = new StaticCompositeSubscription(); var s1 = new MySub(); Assert.ThrowsException <InvalidOperationException>(() => cs.Add(s1)); var cs2 = new StaticCompositeSubscription(s1); Assert.ThrowsException <InvalidOperationException>(() => cs.Remove(s1)); }
public void StableCompositeSubscription_AddRange() { var cs = new StableCompositeSubscription(); var s1 = new MySub(); cs.AddRange(new ISubscription[] { s1 }); Start(cs); Assert.AreEqual(1, s1.StartCount); Assert.AreEqual(1, cs.Count); var s2 = new MySub(); cs.AddRange(new ISubscription[] { s2 }); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(1, s2.StartCount); Assert.AreEqual(2, cs.Count); cs.Remove(s1); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, cs.Count); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); cs.Remove(s2); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, s2.DisposedCount); Assert.AreEqual(0, cs.Count); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); var s3 = new MySub(); cs.AddRange(new ISubscription[] { s3 }); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); Assert.AreEqual(1, s3.StartCount); Assert.AreEqual(1, cs.Count); cs.AddRange(Array.Empty <ISubscription>()); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); Assert.AreEqual(2, s3.StartCount); Assert.AreEqual(1, cs.Count); }
public void StaticCompositeSubscription_Start() { var s1 = new MySub(); var s2 = new MySub(); var s3 = new MySub(); var cs = new StaticCompositeSubscription(s1, s2, s3); Assert.AreEqual(0, s1.StartCount); Assert.AreEqual(0, s2.StartCount); Assert.AreEqual(0, s3.StartCount); Start(cs); Assert.AreEqual(1, s1.StartCount); Assert.AreEqual(1, s2.StartCount); Assert.AreEqual(1, s3.StartCount); }
static void Main(string[] args) { Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Red; class1 c1 = new class1(); Mydel d1 = new Mydel(c1.display); d1(); MyAdd d2 = new MyAdd(c1.sum); d2(10, 20); MySub d3 = new MySub(c1.sub); int sub = d3(10, 2); Console.WriteLine("Subtraction = " + sub); Console.ReadLine(); }
public void CompositeSubscription_AddRemove() { var cs = new CompositeSubscription(); var s1 = new MySub(); cs.Add(s1); Start(cs); Assert.AreEqual(1, s1.StartCount); Assert.AreEqual(1, cs.Count); var s2 = new MySub(); cs.Add(s2); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(1, s2.StartCount); Assert.AreEqual(2, cs.Count); cs.Remove(s1); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, cs.Count); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); cs.Remove(s2); Assert.AreEqual(1, s1.DisposedCount); Assert.AreEqual(1, s2.DisposedCount); Assert.AreEqual(0, cs.Count); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); var s3 = new MySub(); cs.Add(s3); Start(cs); Assert.AreEqual(2, s1.StartCount); Assert.AreEqual(2, s2.StartCount); Assert.AreEqual(1, s3.StartCount); Assert.AreEqual(1, cs.Count); }