Created
March 30, 2012 12:35
-
-
Save javimb/2251217 to your computer and use it in GitHub Desktop.
Practica 3 de PSS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Pasos previos: | |
1-Tener mapeado el 2011-PSS-CLASES | |
2-Crear la carpeta Practica-03 dentro de Grupo de Trabajo de nuestro TFS | |
3-Click derecho en esa carpeta -> Add items to folder | |
4-Seleccionar la carpeta Test-1 que tenemos en local del 2011-PSS-CLASES | |
5-Seleccionar todos los archivos y finalizar | |
6-Abrir la solucion y empezar a trabajar | |
7-Comentar la linea "public static FactoryUsuarioView Factory {get; set;}" en IUsuarioView.cs y UsuarioView.cs | |
8-Click derecho en el proyecto TestRecorridoSecuenciaUsuarioView -> Unload project | |
9-Lo mismo para el proyecto SecuenciaUsuarioView | |
Con todo esto ya pasa todos los tests, aunque no se implementan las clases genericas... | |
Javi Imbernon | |
*/ | |
using System; | |
using System.Collections; | |
using System.Linq; | |
using System.Text; | |
using System.ComponentModel; | |
using System.Collections.Generic; | |
namespace BindingCollection | |
{ | |
public class UsuarioView : IUsuarioView,IEqualityComparer,IComparable | |
{ | |
public UsuarioView() { } | |
public UsuarioView(int id, string nombre, string palabraPaso, string categoria) | |
{ | |
Id = id.ToString(); | |
Nombre = nombre; | |
PalabraPaso = palabraPaso; | |
Categoria = categoria; | |
} | |
public string Id { get; set; } | |
public string Nombre { get; set; } | |
public string PalabraPaso { get; set; } | |
public string Categoria { get; set; } | |
//public static FactoryUsuarioView Factory {get; set;} | |
#region override inherited from Object | |
public override bool Equals(object obj) | |
{ | |
if(obj != null){ | |
if(this.Id.Equals((obj as UsuarioView).Id)) | |
{ | |
return true; | |
} | |
} | |
return false; | |
} | |
public static bool Equals(UsuarioView objV1, UsuarioView objV2) | |
{ | |
if (objV1 != null && objV2 != null) | |
{ | |
if (objV1.Id.Equals(objV2.Id)) | |
{ | |
return true; | |
} | |
} | |
return false; | |
} | |
public override int GetHashCode() | |
{ | |
return Id.GetHashCode(); | |
} | |
#endregion | |
#region IEqualityComparer Members | |
// Hay que poner new para | |
public new bool Equals(object obj1, object obj2) | |
{ | |
if (obj1 != null && obj2 != null) | |
{ | |
if ((obj1 as UsuarioView).Id.Equals((obj2 as UsuarioView).Id)) | |
{ | |
return true; | |
} | |
} | |
return false; | |
} | |
public int GetHashCode(object obj) | |
{ | |
return (obj as UsuarioView).Id.GetHashCode(); | |
} | |
#endregion | |
#region override equality operators | |
//escritura del operador estático de igualdad | |
public static bool operator ==(UsuarioView u1, UsuarioView u2) | |
{ | |
if ((Object)u1 == null && (Object)u2 == null) | |
{ | |
return true; | |
} | |
if ((Object)u1 == null || (Object)u2 == null) | |
{ | |
return false; | |
} | |
if (u1.Id.Equals(u2.Id)) | |
{ | |
return true; | |
} | |
return false; | |
} | |
//escritura del operador estático de des-igualdad | |
public static bool operator !=(UsuarioView u1, UsuarioView u2) | |
{ | |
if ((Object)u1 == null && (Object)u2 == null) | |
{ | |
return false; | |
} | |
if ((Object)u1 == null || (Object)u2 == null) | |
{ | |
return true; | |
} | |
if (u1.Id.Equals(u2.Id)) | |
{ | |
return false; | |
} | |
return true; | |
} | |
#endregion | |
#region IComparable Members | |
public int CompareTo(object obj) | |
{ | |
if (obj != null) | |
{ | |
return this.Id.CompareTo((obj as UsuarioView).Id); | |
} | |
return 1; | |
} | |
#endregion | |
#region ICompare Members | |
public int Compare(Object obj1, Object obj2) | |
{ | |
if (obj1 != null && obj2 != null) | |
{ | |
return (obj1 as UsuarioView).Id.CompareTo((obj2 as UsuarioView).Id); | |
} | |
if (obj1 == null && obj2 != null) | |
{ | |
return -1; | |
} | |
if (obj1 != null && obj2 == null) | |
{ | |
return 1; | |
} | |
return 0; | |
} | |
// método auxiliar | |
public int Compare(UsuarioView objV1, UsuarioView objV2) | |
{ | |
if (objV1 != null && objV2 != null) | |
{ | |
return objV1.Id.CompareTo(objV2.Id); | |
} | |
if (objV1 == null && objV2 != null) | |
{ | |
return -1; | |
} | |
if (objV1 != null && objV2 == null) | |
{ | |
return 1; | |
} | |
return 0; | |
} | |
#endregion | |
#region overwriting comparation operators | |
public static bool operator >(UsuarioView objV1, UsuarioView objV2) | |
{ | |
if ((Object)objV1 == null && (Object)objV2 != null) | |
{ | |
return false; | |
} | |
if ((Object)objV1 != null && (Object)objV2 == null) | |
{ | |
return true; | |
} | |
if ((Object)objV1 == null && (Object)objV2 == null) | |
{ | |
return false; | |
} | |
if (!objV1.Id.Equals(objV2.Id)) | |
{ | |
if (objV1.Id.CompareTo(objV2.Id) == 1) | |
{ | |
return true; | |
} | |
return false; | |
} | |
return false; | |
} | |
public static bool operator <(UsuarioView objV1, UsuarioView objV2) | |
{ | |
if ((Object)objV1 == null && (Object)objV2 != null) | |
{ | |
return true; | |
} | |
if ((Object)objV1 != null && (Object)objV2 == null) | |
{ | |
return false; | |
} | |
if ((Object)objV1 == null && (Object)objV2 == null) | |
{ | |
return false; | |
} | |
if (!objV1.Id.Equals(objV2.Id)) | |
{ | |
if (objV1.Id.CompareTo(objV2.Id) == -1) | |
{ | |
return true; | |
} | |
return false; | |
} | |
return false; | |
} | |
public static bool operator <=(UsuarioView objV1, UsuarioView objV2) | |
{ | |
if ((Object)objV1 == null && (Object)objV2 != null) | |
{ | |
return true; | |
} | |
if ((Object)objV1 != null && (Object)objV2 == null) | |
{ | |
return false; | |
} | |
if ((Object)objV1 == null && (Object)objV2 == null) | |
{ | |
return true; | |
} | |
if (!objV1.Id.Equals(objV2.Id)) | |
{ | |
if (objV1.Id.CompareTo(objV2.Id) == 1) | |
{ | |
return false; | |
} | |
return true; | |
} | |
return true; | |
} | |
public static bool operator >=(UsuarioView objV1, UsuarioView objV2) | |
{ | |
if ((Object)objV1 == null && (Object)objV2 != null) | |
{ | |
return false; | |
} | |
if ((Object)objV1 != null && (Object)objV2 == null) | |
{ | |
return true; | |
} | |
if ((Object)objV1 == null && (Object)objV2 == null) | |
{ | |
return true; | |
} | |
if (!objV1.Id.Equals(objV2.Id)) | |
{ | |
if (objV1.Id.CompareTo(objV2.Id) == -1) | |
{ | |
return false; | |
} | |
return true; | |
} | |
return true; | |
} | |
#endregion | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment