@ -1269,6 +1269,39 @@ module CommonTests
assert proto_module :: TestMessage . new != nil
end
def test_freeze
m = proto_module :: TestMessage . new
m . optional_int32 = 10
m . freeze
frozen_error = assert_raise ( FrozenError ) { m . optional_int32 = 20 }
assert_equal " can't modify frozen #{ proto_module } ::TestMessage " , frozen_error . message
assert_equal 10 , m . optional_int32
assert_equal true , m . frozen?
assert_raise ( FrozenError ) { m . optional_int64 = 2 }
assert_raise ( FrozenError ) { m . optional_uint32 = 3 }
assert_raise ( FrozenError ) { m . optional_uint64 = 4 }
assert_raise ( FrozenError ) { m . optional_bool = true }
assert_raise ( FrozenError ) { m . optional_float = 6 . 0 }
assert_raise ( FrozenError ) { m . optional_double = 7 . 0 }
assert_raise ( FrozenError ) { m . optional_string = '8' }
assert_raise ( FrozenError ) { m . optional_bytes = nil }
assert_raise ( FrozenError ) { m . optional_msg = proto_module :: TestMessage2 . new }
assert_raise ( FrozenError ) { m . optional_enum = :A }
assert_raise ( FrozenError ) { m . repeated_int32 = 1 }
assert_raise ( FrozenError ) { m . repeated_int64 = 2 }
assert_raise ( FrozenError ) { m . repeated_uint32 = 3 }
assert_raise ( FrozenError ) { m . repeated_uint64 = 4 }
assert_raise ( FrozenError ) { m . repeated_bool = true }
assert_raise ( FrozenError ) { m . repeated_float = 6 . 0 }
assert_raise ( FrozenError ) { m . repeated_double = 7 . 0 }
assert_raise ( FrozenError ) { m . repeated_string = '8' }
assert_raise ( FrozenError ) { m . repeated_bytes = nil }
assert_raise ( FrozenError ) { m . repeated_msg = proto_module :: TestMessage2 . new }
assert_raise ( FrozenError ) { m . repeated_enum = :A }
end
def test_eq
m1 = proto_module :: TestMessage . new ( :optional_string = > 'foo' , :repeated_string = > [ 'bar1' , 'bar2' ] )
m2 = proto_module :: TestMessage . new ( :optional_string = > 'foo' , :repeated_string = > [ 'bar1' , 'bar2' ] )