Skip to content

Instantly share code, notes, and snippets.

@javimb
Created March 30, 2012 12:35
Show Gist options
  • Save javimb/2251217 to your computer and use it in GitHub Desktop.
Save javimb/2251217 to your computer and use it in GitHub Desktop.
Practica 3 de PSS
/*
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