moved TestContext into core because it's easier that way