mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
64 lines
1.9 KiB
Crystal
64 lines
1.9 KiB
Crystal
require "../../spec_helper"
|
|
|
|
# Examples taken from:
|
|
# https://relishapp.com/rspec/rspec-expectations/v/3-8/docs/built-in-matchers/equality-matchers
|
|
# and modified to fit Spectator and Crystal.
|
|
Spectator.describe "Equality matchers" do
|
|
context "compare using eq (==)" do
|
|
describe "a string" do
|
|
it "is equal to another string of the same value" do
|
|
expect("this string").to eq("this string")
|
|
end
|
|
|
|
it "is not equal to another string of a different value" do
|
|
expect("this string").not_to eq("a different string")
|
|
end
|
|
end
|
|
|
|
describe "an integer" do
|
|
it "is equal to a float for the same value" do
|
|
expect(5).to eq(5.0)
|
|
end
|
|
end
|
|
end
|
|
|
|
context "compare using ==" do
|
|
describe "a string" do
|
|
it "is equal to another string of the same value" do
|
|
expect("this string").to be == "this string"
|
|
end
|
|
|
|
it "is not equal to another string of a different value" do
|
|
expect("this string").not_to be == "a different string"
|
|
end
|
|
end
|
|
|
|
describe "an integer" do
|
|
it "is equal to a float of the same value" do
|
|
expect(5).to be == 5.0
|
|
end
|
|
end
|
|
end
|
|
|
|
# There are no #eql? and #equal? methods in Crystal, so these tests are skipped.
|
|
|
|
context "compare using be (same?)" do
|
|
it "is equal to itself" do
|
|
string = "this string"
|
|
expect(string).to be(string)
|
|
end
|
|
|
|
it "is not equal to another reference of the same value" do
|
|
# Strings with identical contents are the same reference in Crystal.
|
|
# This test is modified to reflect that.
|
|
# expect("this string").not_to be("this string")
|
|
box1 = Box.new("this string")
|
|
box2 = Box.new("this string")
|
|
expect(box1).not_to be(box2)
|
|
end
|
|
|
|
it "is not equal to another string of a different value" do
|
|
expect("this string").not_to be("a different string")
|
|
end
|
|
end
|
|
end
|