using System;
using System.Collections.Generic;
using ANXStatusComparer.Data;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANXStatusComparer
{
///
/// The result of the comparison.
///
public class ResultData
{
#region WrongObjectPair (helper class)
///
/// A pair of two base objects and two lists of wrong methods.
///
public class WrongObjectPair
{
public BaseObject XnaObject;
public List XnaElements =
new List();
public BaseObject AnxObject;
public List AnxElements =
new List();
public List MissingParents = new List();
public List WrongAccesses = new List();
}
#endregion
#region Public
#region Namespace Results
///
/// List of missing namespaces in ANX.
///
public List MissingNamespaces
{
get;
private set;
}
///
/// List of implemented namespaces in ANX.
///
public List ImplementedNamespaces
{
get;
private set;
}
#endregion
#region Class Results
///
/// List of missing classes.
///
public List MissingClasses
{
get;
private set;
}
///
/// List of wrong class implementations.
///
public List WrongClasses
{
get;
private set;
}
///
/// List of implemented classes.
///
public List ImplementedClasses
{
get;
private set;
}
public int NumberOfFinishedClasses
{
get
{
int result = 0;
foreach (BaseObject obj in ImplementedClasses)
{
if (obj.HasPercentageAttribute &&
obj.PercentageComplete == 100)
{
result++;
}
}
return result;
}
}
#endregion
#region Interface Results
///
/// List of missing interfaces.
///
public List MissingInterfaces
{
get;
private set;
}
///
/// List of wrong interface implementations.
///
public List WrongInterfaces
{
get;
private set;
}
///
/// List of implemented interfaces.
///
public List ImplementedInterfaces
{
get;
private set;
}
public int NumberOfFinishedInterfaces
{
get
{
int result = 0;
foreach (BaseObject obj in ImplementedInterfaces)
{
if (obj.HasPercentageAttribute &&
obj.PercentageComplete == 100)
{
result++;
}
}
return result;
}
}
#endregion
#region Struct Results
///
/// List of missing structs.
///
public List MissingStructs
{
get;
private set;
}
///
/// List of wrong struct implementations.
///
public List WrongStructs
{
get;
private set;
}
///
/// List of implemented structs.
///
public List ImplementedStructs
{
get;
private set;
}
public int NumberOfFinishedStructs
{
get
{
int result = 0;
foreach (BaseObject obj in ImplementedStructs)
{
if (obj.HasPercentageAttribute &&
obj.PercentageComplete == 100)
{
result++;
}
}
return result;
}
}
#endregion
#region Enum Results
///
/// List of missing enumerations.
///
public List MissingEnums
{
get;
private set;
}
///
/// List of implemented enumerations.
///
public List ImplementedEnums
{
get;
private set;
}
///
/// List of wrong enumerations.
///
public List> WrongEnums
{
get;
private set;
}
#endregion
#endregion
#region Constructor
///
/// Create a new result data holder.
///
public ResultData()
{
MissingNamespaces = new List();
ImplementedNamespaces = new List();
MissingEnums = new List();
ImplementedEnums = new List();
WrongEnums = new List>();
MissingStructs = new List();
ImplementedStructs = new List();
WrongStructs = new List();
MissingInterfaces = new List();
ImplementedInterfaces = new List();
WrongInterfaces = new List();
MissingClasses = new List();
ImplementedClasses = new List();
WrongClasses = new List();
}
#endregion
}
}