コード例 #1
0
        public void Remove( )
        {
            RecentComputerList computers = new RecentComputerList();
            computers.Add( new ComputerName( "cpu1", "alias1" ) );
            computers.Add( new ComputerName( "cpu2", "alias2" ) );
            Assert.AreEqual( 2, computers.Count );

            computers.Remove( new ComputerName( "cpu1", "alias1" ) );
            Assert.AreEqual( 1, computers.Count );

            // Is Remove case insensitive?
            computers.Remove( new ComputerName( "CPU2", "ALIAS2" ) );
            Assert.AreEqual( 0, computers.Count );
        }
コード例 #2
0
        public void CopyCtor( )
        {
            var computers = new RecentComputerList();
            computers.Add( new ComputerName( "1.1.1.1", "work", true ) );
            computers.Add( new ComputerName( "2.2.2.2", "home", false ) );

            var otherComps = new RecentComputerList( computers );

            // Did we copy?
            Assert.AreEqual( new ComputerName[]
                {
                    new ComputerName( "1.1.1.1", "work", true ),
                    new ComputerName( "2.2.2.2", "home", false )
                },
                otherComps.ToArray() );

            // Are the underlying lists different objects?
            computers.Remove( computers.Find( "home" ) );
            Assert.AreEqual( 1, computers.Count );
            Assert.AreEqual( 2, otherComps.Count );

            // Are the underlayng ComputerName different objects?
            foreach ( var name in computers )
            {
                name.Alias = null;
            }
            Assert.IsNull( computers.Find( "work" ) );
            Assert.IsNotNull( otherComps.Find( "work" ) );
        }