Example #1
0
        public void TestNullCacheValue()
        {
            CacheValue <object> nv = CacheValue <object> .GetInstance(null);

            assertTrue("null CacheValue isNull()", nv.IsNull);
            assertTrue("null CacheValue get()==null", nv.Get() == null);
            assertTrue("null CacheValue reset==null", nv.ResetIfCleared(null) == null);
            try
            {
                object v = nv.ResetIfCleared(this);
                fail("null CacheValue reset(not null) should throw an Exception, returned " +
                     v + " instead");
            }
            catch (Exception expected)
            {
            }
        }
Example #2
0
        public void TestNullCacheValue()
        {
            CacheValue <object> nv = CacheValue <object> .GetInstance(null);

            assertTrue("null CacheValue isNull()", nv.IsNull);
            assertTrue("null CacheValue get()==null", nv.Get() == null);
            // ICU4N: ResetIfCleared factored out, using factory method in GetOrCreate() instead
            //assertTrue("null CacheValue reset==null", nv.ResetIfCleared(null) == null);
            //try
            //{
            //    object v = nv.ResetIfCleared(this);
            //    fail("null CacheValue reset(not null) should throw an Exception, returned " +
            //            v + " instead");
            //}
            //catch (Exception expected)
            //{
            //}
        }
Example #3
0
        public void TestSoftCacheValue()
        {
            bool wasStrong = CacheValue <object> .FutureInstancesWillBeStrong;

            CacheValue <object> .Strength = CacheValueStrength.Soft;
            assertFalse("setStrength(SOFT).futureInstancesWillBeStrong()",
                        CacheValue <object> .FutureInstancesWillBeStrong);
            CacheValue <Object> sv = CacheValue <object> .GetInstance(() => this);

            assertFalse("soft CacheValue not isNull()", sv.IsNull);
            Object v = sv.Get();

            assertTrue("soft CacheValue get()==same or null", v == this || v == null);
            //assertTrue("soft CacheValue reset==same", sv.ResetIfCleared(this) == this); // ICU4N: ResetIfCleared factored out, using factory method in GetOrCreate() instead
            if (wasStrong)
            {
                CacheValue <object> .Strength = CacheValueStrength.Strong;
            }
        }
Example #4
0
        public void TestStrongCacheValue()
        {
            bool wasStrong = CacheValue <object> .FutureInstancesWillBeStrong;

            CacheValue <object> .Strength = CacheValueStrength.Strong;
            assertTrue("setStrength(STRONG).futureInstancesWillBeStrong()",
                       CacheValue <object> .FutureInstancesWillBeStrong);
            CacheValue <Object> sv = CacheValue <Object> .GetInstance(() => this);

            assertFalse("strong CacheValue not isNull()", sv.IsNull);
            assertTrue("strong CacheValue get()==same", sv.Get() == this);
            // A strong CacheValue never changes value.
            // The implementation does not check that the new value is equal to the old one,
            // or even of equal type, so it does not matter which new value we pass in.
            //assertTrue("strong CacheValue reset==same", sv.ResetIfCleared("") == this); // ICU4N: ResetIfCleared factored out, using factory method in GetOrCreate() instead
            if (!wasStrong)
            {
                CacheValue <object> .Strength = CacheValueStrength.Soft;
            }
        }
Example #5
0
        public void TestSoftCacheValue()
        {
            bool wasStrong = CacheValue <object> .FutureInstancesWillBeStrong;

            CacheValue <object> .SetStrength(CacheValueStrength.Soft);

            assertFalse("setStrength(SOFT).futureInstancesWillBeStrong()",
                        CacheValue <object> .FutureInstancesWillBeStrong);
            CacheValue <Object> sv = CacheValue <object> .GetInstance(this);

            assertFalse("soft CacheValue not isNull()", sv.IsNull);
            Object v = sv.Get();

            assertTrue("soft CacheValue get()==same or null", v == this || v == null);
            assertTrue("soft CacheValue reset==same", sv.ResetIfCleared(this) == this);
            if (wasStrong)
            {
                CacheValue <object> .SetStrength(CacheValueStrength.Strong);
            }
        }
Example #6
0
 public Line Row()
 {
     return(_row.Get());
 }