public void OnParentPackagesUpdated_NoInvokeRequired_NonThreadSafeOnParentPackagesUpdatedMethodCalled()
        {
            CreateEvents();
            var expectedPackages = new FakePackage[] { new FakePackage() };

            threadSafeEvents.OnParentPackagesUpdated(expectedPackages);

            IEnumerable <IPackage> packages = fakeEvents.PackagesPassedToOnParentPackageUpdated;

            Assert.AreEqual(expectedPackages, packages);
        }
        public void OnParentPackagesUpdated_NoInvokeRequired_NonThreadSafeOnParentPackagesUpdatedMethodCalled()
        {
            CreateEvents();
            IEnumerable <IPackage> packages = null;

            unsafeEvents.ParentPackagesUpdated += (sender, e) => packages = e.Packages;
            var expectedPackages = new FakePackage[] { new FakePackage() };

            threadSafeEvents.OnParentPackagesUpdated(expectedPackages);

            Assert.AreEqual(expectedPackages, packages);
        }