public void SurfaceCollection_TestRemoveAtIdFailsIfIdNotPresent_ReturnsFalse()
        {
            var messenger = Substitute.For <IFrameworkMessenger>();

            var collection = new GpuSurfaceCollection(messenger);

            AddToCollectionTwoInternalTwoRenderTargetsAndOneTexture(collection);

            Assert.False(collection.Remove(7));
        }
        public void SurfaceCollection_TestRemoveAtId_Returns4()
        {
            var messenger = Substitute.For <IFrameworkMessenger>();

            var collection = new GpuSurfaceCollection(messenger);

            AddToCollectionTwoInternalTwoRenderTargetsAndOneTexture(collection);

            collection.Remove(2);

            Assert.Equal(4, collection.CountAll());
        }
        public void SurfaceCollection_TestRemoveTypeTexture_Returns3()
        {
            var messenger = Substitute.For <IFrameworkMessenger>();

            var collection = new GpuSurfaceCollection(messenger);

            AddToCollectionTwoInternalTwoRenderTargetsAndOneTexture(collection);

            var ids = collection.ReturnAllOfType(GpuSurfaceType.Texture);

            ids.ForEach(id =>
            {
                collection.Remove(id);
            });

            Assert.Equal(3, collection.CountAll());
        }