public void Vector2dSubtractsCorrectly() { var v = new Vector2d(2, 3); Assert.False(v == v - 0); Assert.False(v == v.Subtract(0)); Assert.False(-v == v.SubtractFrom(0)); Assert.True(v.Equivalent(v - 0)); Assert.True(v.Equivalent(v.Subtract(0))); Assert.True((-v).Equivalent(0- v)); Assert.True((-v).Equivalent(v.SubtractFrom(0))); Assert.True((v - v).Equivalent(Vector2d.Zero)); Assert.True((v.Subtract(v)).Equivalent(Vector2d.Zero)); Assert.True((v - .1).Equivalent(new Vector2d(1.9, 2.9))); Assert.True((v.Subtract(.1)).Equivalent(new Vector2d(1.9, 2.9))); Assert.True((.1 - v).Equivalent(new Vector2d(-1.9, -2.9))); Assert.True((v.SubtractFrom(.1)).Equivalent(new Vector2d(-1.9, -2.9))); }