function Expectation.near(n,s,e)assert(type(n.value)=="\110\117\109\098\101\114","\069\120\112\101\099\116\097\116\105\111\110 \118\097\108\117\101 \109\117\115\116 \098\101 \097 \110\117\109\098\101\114 \116\111 \117\115\101 \'\110\101\097\114\'")assert(type(s)=="\110\117\109\098\101\114","\111\116\104\101\114\086\097\108\117\101 \109\117\115\116 \098\101 \097 \110\117\109\098\101\114")assert(type(e)=="\110\117\109\098\101\114"or e==nil,"\108\105\109\105\116 \109\117\115\116 \098\101 \097 \110\117\109\098\101\114 \111\114 \110\105\108")e=e or 1e-07 local T=(math.abs(n.value-s)<=e)==n.successCondition local G=formatMessage(n.successCondition,("\069\120\112\101\099\116\101\100 \118\097\108\117\101 \116\111 \098\101 \110\101\097\114 \037\102 \040\119\105\116\104\105\110 \037\102\041 \098\117\116 \103\111\116 \037\102 \105\110\115\116\101\097\100"):format(s,e,n.value),("\069\120\112\101\099\116\101\100 \118\097\108\117\101 \116\111 \110\111\116 \098\101 \110\101\097\114 \037\102 \040\119\105\116\104\105\110 \037\102\041 \098\117\116 \103\111\116 \037\102 \105\110\115\116\101\097\100"):format(s,e,n.value))assertLevel(T,G,3)n:_resetModifiers()return n end
--[[
	Assert that our expectation value is equal to another value within some
	inclusive limit.
]]
function Expectation:near(otherValue, limit)
	assert(type(self.value) == "number", "Expectation value must be a number to use 'near'")
	assert(type(otherValue) == "number", "otherValue must be a number")
	assert(type(limit) == "number" or limit == nil, "limit must be a number or nil")

	limit = limit or 1e-7

	local result = (math.abs(self.value - otherValue) <= limit) == self.successCondition

	local message = formatMessage(
		self.successCondition,
		("Expected value to be near %f (within %f) but got %f instead"):format(otherValue, limit, self.value),
		("Expected value to not be near %f (within %f) but got %f instead"):format(otherValue, limit, self.value)
	)

	assertLevel(result, message, 3)
	self:_resetModifiers()

	return self
end
