(a) That's wrong. As a general rule, each party to a contract is entitled to complete performance and nothing less. Partial performance does not discharge the contract: it is a breach of contract. This means that, when there is only partial performance of the undertakings in a contract, the person receiving the performance is not required to accept it. They can reject it and proceed as if no performance had been made, claiming damages for losses flowing from the breach. In the example, delivering only half the tables and chairs is only partial performance and B could refuse to accept them.
Sometimes, when partial performance is tendered, the person receiving it may choose to accept it, perhaps to minimise the inconvenience of the breach. If they accept partial performance, they must pay pro rata for what they have received but they would also have the right to claim damages for losses caused by the failure to perform in full.