#!/usr/bin/env ruby require 'swig_assert' require 'li_std_auto_ptr' def gc_check(expected_count) # GC.start(full_mark: true, immediate_sweep: true) GC.start # GC is not reliably run, skip check # swig_assert_equal_simple(expected_count, Li_std_auto_ptr::Klass::getTotal_count()) end k1 = Li_std_auto_ptr::makeKlassAutoPtr("first") k2 = Li_std_auto_ptr::makeKlassAutoPtr("second") swig_assert_equal_simple(2, Li_std_auto_ptr::Klass::getTotal_count()) gc_check(2) k1 = nil gc_check(1) swig_assert_equal_simple(k2.getLabel(), "second") gc_check(1) k2 = nil gc_check(0)