コード例 #1
0
        public void MutRef_Comparisons()
        {
            var first  = new MutRef <float>();
            var second = new MutRef <float>();

            // TODO(bengreenier): should ensure that two refs pointing at different Boxes are not equal

            // mut refs are equal if the contents are the same
            Assert.AreEqual(first, second);

            // and the same instance is equal, of course
            Assert.AreEqual(first, first);

            // and a value comparison will check against the mut ref contents
            Assert.True(first.ValueEquals(0));

            // even if it's another mut ref
            Assert.True(first.ValueEquals(second));
        }
コード例 #2
0
        public void MutRef_ReadWrite()
        {
            var rwFloat = new MutRef <float>();

            // default reads work
            Assert.AreEqual(0f, rwFloat.Value);
            Assert.AreEqual(0f, rwFloat.Read());

            rwFloat.Value = 10f;

            // write works via prop
            Assert.AreEqual(10f, rwFloat.Value);
            Assert.AreEqual(10f, rwFloat.Read());

            rwFloat.Write(20f);

            // write works via method
            Assert.AreEqual(20f, rwFloat.Value);
            Assert.AreEqual(20f, rwFloat.Read());
        }