예제 #1
0
        public override bool Equals(XModels.XScanClass scan, float epsilon)
        {
            XModels.XScanStar sscan = scan.Star;

            return(base.Equals(scan) &&
                   this.AbsoluteMagnitude == sscan.AbsoluteMagnitude &&
                   this.StellarMass == sscan.StellarMass &&
                   this.Age_MY == sscan.Age_MY &&
                   this.StarTypeId == sscan.StarTypeId &&
                   (sscan.LuminosityId == 0 || this.LuminosityId == null || this.LuminosityId == sscan.LuminosityId));
        }
예제 #2
0
        public override List <CompareResult> GetDifferingProps(XScanClass scandata, List <CompareResult> diffs)
        {
            XModels.XScanStar sscan = scandata.Star;
            base.GetDifferingProps(scandata, diffs);
            CompareResult.AddIfUnequal(diffs, this, "AbsoluteMagnitude", this.AbsoluteMagnitude, sscan.AbsoluteMagnitude);
            CompareResult.AddIfUnequal(diffs, this, "StellarMass", this.StellarMass, sscan.StellarMass);
            CompareResult.AddIfUnequal(diffs, this, "Age_MY", this.Age_MY, sscan.Age_MY);
            CompareResult.AddIfUnequal(diffs, this, "StarTypeId", this.StarTypeId, sscan.StarTypeId);
            CompareResult.AddIfUnequal(diffs, this, "LuminosityId", this.LuminosityId, sscan.LuminosityId == 0 ? null : (byte?)sscan.LuminosityId);

            return(diffs);
        }