--TEST--
A composer update should remove unused locked dependencies from the lock file and remove unused installed deps from disk
--COMPOSER--
{
    "repositories": [
        {
            "type": "package",
            "package": [
                { "name": "a/a", "version": "1.0.0" },
                { "name": "b/b", "version": "1.0.0" }
            ]
        }
    ],
    "require": {
        "a/a": "*"
    }
}
--LOCK--
{
    "packages": [
        { "name": "a/a", "version": "1.0.0" },
        { "name": "b/b", "version": "1.0.0" }
    ],
    "packages-dev": [],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": [],
    "prefer-stable": false,
    "prefer-lowest": false,
    "platform": [],
    "platform-dev": []
}
--INSTALLED--
[
    { "name": "a/a", "version": "1.0.0" },
    { "name": "b/b", "version": "1.0.0" },
    { "name": "c/c", "version": "1.0.0" }
]
--RUN--
update
--EXPECT-LOCK--
{
    "packages": [
        { "name": "a/a", "version": "1.0.0", "type": "library" }
    ],
    "packages-dev": [],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": [],
    "prefer-stable": false,
    "prefer-lowest": false,
    "platform": [],
    "platform-dev": []
}
--EXPECT-OUTPUT--
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 0 updates, 1 removal
  - Removing b/b (1.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 0 updates, 2 removals
Generating autoload files

--EXPECT--
Removing c/c (1.0.0)
Removing b/b (1.0.0)