Exemple #1
0
        public void AdaptTo_Throws_OnInvalidConversion()
        {
            using (var set = new NodeSet())
            {
                var handle = set.Create <TestNode>();

                Assert.Throws <InvalidCastException>(() => set.Adapt <TestNode>(handle).To <int>());
                Assert.Throws <InvalidCastException>(() => set.Adapt((NodeHandle)handle).To <int>());

                set.Destroy(handle);
            }
        }
Exemple #2
0
        public void AdaptTo_Throws_OnInvalidAndDestroyedNodes()
        {
            using (var set = new NodeSet())
            {
                Assert.Throws <ArgumentException>(() => set.Adapt(new NodeHandle <TestNode>()).To <int>());
                Assert.Throws <ArgumentException>(() => set.Adapt(new NodeHandle()).To <int>());

                var handle = set.Create <TestNode>();
                set.Destroy(handle);

                Assert.Throws <ArgumentException>(() => set.Adapt <TestNode>(handle).To <int>());
                Assert.Throws <ArgumentException>(() => set.Adapt((NodeHandle)handle).To <int>());
            }
        }
Exemple #3
0
        public void AdaptHandle_DoesNotThrow_OnInvalidAndDestroyedNodes()
        {
            using (var set = new NodeSet())
            {
                Assert.DoesNotThrow(() => set.Adapt(new NodeHandle <TestNode>()));
                Assert.DoesNotThrow(() => set.Adapt(new NodeHandle()));

                var handle = set.Create <TestNode>();
                set.Destroy(handle);

                Assert.DoesNotThrow(() => set.Adapt <TestNode>(handle));
                Assert.DoesNotThrow(() => set.Adapt((NodeHandle)handle));
            }
        }