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 ); }
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" ) ); }