Virgin use the EE network, so you could get a free EE PAYG sim to check signal. O2 tends to be a more robust signal indoors due to the frequencies their network uses.
On another note, Ofcom had banned 3 year contracts - when did that change?
https://www.theguardian.com/money/20...year-contracts