Runtime assertions for Ruby
literal.fun
ruby
1# frozen_string_literal: true
2
3UserID = Literal::Delegator(String) do
4 def double = length * 2
5end
6
7test ".===" do
8 user_id = UserID.new("123")
9 assert UserID === user_id
10end
11
12test ".[]" do
13 user_id = UserID["123"]
14 assert UserID === user_id
15end
16
17test "custom methods" do
18 user_id = UserID.new("123")
19 assert_equal user_id.double, 6
20end
21
22test "#===" do
23 user_id = UserID.new("123")
24
25 assert user_id === user_id
26 refute user_id === "123"
27end