public void Logic() { var funs = new GenFunctions(); IReadMean i1 = new IntMean(21), i2 = new IntMean(2), i3 = new IntMean(0), i4 = new IntMean(3); var c = (ConstGenFun)(funs.CurFun = funs.Funs["TrueFun_"]); var m = c.Calculate(new IReadMean[0], DataType.Boolean); Assert.IsTrue(m.Boolean); c = (ConstGenFun)(funs.CurFun = funs.Funs["FalseFun_"]); m = c.Calculate(new IReadMean[0], DataType.Boolean); Assert.IsFalse(m.Boolean); Assert.AreEqual(5, Calc(funs, "Sr_ii", DataType.Integer, i1, i2).Integer); Assert.AreEqual(84, Calc(funs, "Sl_ii", DataType.Integer, i1, i2).Integer); Assert.IsTrue(Calc(funs, "Bit_ii", DataType.Boolean, i1, i3).Boolean); Assert.IsTrue(Calc(funs, "Bit_ii", DataType.Boolean, i1, i2).Boolean); Assert.IsFalse(Calc(funs, "Bit_ii", DataType.Boolean, i1, i4).Boolean); Assert.IsTrue(Calc(funs, "BitOr_iii", DataType.Boolean, i1, i3, i2).Boolean); Assert.IsTrue(Calc(funs, "BitOr_iii", DataType.Boolean, i1, i2, i3, i4).Boolean); Assert.IsFalse(Calc(funs, "BitOr_iii", DataType.Boolean, i1, i4).Boolean); Assert.IsTrue(Calc(funs, "BitAnd_iii", DataType.Boolean, i1, i3, i2).Boolean); Assert.IsFalse(Calc(funs, "BitAnd_iii", DataType.Boolean, i1, i4, i2).Boolean); }
public bool GetConnection() { string ConnectionString = string.Empty; if (_DatabaseConnection == null || _DatabaseConnection.State == ConnectionState.Closed) { if (ConnectionString == string.Empty) { //ConnectionString = ConfigurationManager.ConnectionStrings["ReservationConnectionString"].ConnectionString.ToString(); } _DatabaseConnection = new SqlConnection(); //_DatabaseConnection.ConnectionString = ConnectionString; ConnectionString = @"Data Source=IBM-5163992E35F\NetSDK;Initial Catalog=Reservation;Integrated Security=True"; _DatabaseConnection.ConnectionString = ConnectionString; try { _DatabaseConnection.Open(); } catch (Exception ex) { GenFunctions.LogError("clsDatabaseManager.GetConnection", ex.Message.ToString()); ConnectionString = string.Empty; return(false); } ConnectionString = string.Empty; } return(true); }
public bool GetConnection(string DatabaseType) { string ConnectionString = string.Empty; if (string.Compare(DatabaseType, "APPDB", true) == 0) { if (_DatabaseConnection == null || _DatabaseConnection.State == ConnectionState.Closed) { if (ConnectionString == string.Empty) { GetConnectionString(); } _DatabaseConnection = new SqlConnection(); _DatabaseConnection.ConnectionString = ConnectionString; try { _DatabaseConnection.Open(); } catch (Exception ex) { GenFunctions.LogError("clsDatabaseManager.GetConnection", ex.Message.ToString()); ConnectionString = string.Empty; return(false); } ConnectionString = string.Empty; } } if (string.Compare(DatabaseType, "REMDB", true) == 0) { if (_RemoteConnection == null || _RemoteConnection.State == ConnectionState.Closed) { if (ConnectionString == string.Empty) { GetConnectionString(); } _RemoteConnection = new SqlConnection(); _RemoteConnection.ConnectionString = ConnectionString; try { _RemoteConnection.Open(); } catch (Exception ex) { Console.WriteLine(ex.Message); ConnectionString = string.Empty; return(false); } ConnectionString = string.Empty; } } return(true); }
public bool ExecuteQuery(String strActionString) { InitializeDatabaseConnection(); try { SqlCommand SC = new SqlCommand(strActionString, ApplicationConnection); SC.CommandType = CommandType.Text; SC.ExecuteNonQuery(); return(true); } catch (Exception E) { Console.WriteLine(E.Message); GenFunctions.LogError("clsDatabaseManager.ExecuteQuery", E.Message); return(false); } }
public long GetMax(String TableName, String FieldName, bool FieldIsInteger) { if (GenFunctions.GetDatabaseType() == 'S') { if (FieldIsInteger == true) { strQuery = "Select Max(cast(" + FieldName + " as Int)) from " + TableName; } else { strQuery = "Select Max(" + FieldName + ") from " + TableName; } } else if (GenFunctions.GetDatabaseType() == 'M') { strQuery = "Select Max(" + FieldName + ") from " + TableName; } return(GetSqlFunctionValue(strQuery)); }
private void End_Fight_Click(object sender, RoutedEventArgs e) { foreach (Pokemon playerPokemon in _gameSession.CurrentPlayer.PokemonCollection) { if (playerPokemon.CurHp == playerPokemon.MaxHp) { continue; } GenFunctions.BattleStatsGenerator(playerPokemon); } PlayerCorner.Visibility = Visibility.Hidden; EnemyCorner.Visibility = Visibility.Hidden; EndFight.Visibility = Visibility.Hidden; _gameSession.CurrentPlayer.ChosenPokemon = null; _trainer = ""; MenuBar.IsEnabled = true; FightStatus.Document.Blocks.Clear(); }
public clsBookingRoomReportsData[] GetDetailedBookingDetails(int BookingId) { clsBookingRoomReportsData[] oBRD = null; clsDatabaseManager oDB = null; try { oDB = new clsDatabaseManager(); string sProcName = "up_GetDetailedBookingDetails"; oDB.DbCmd = oDB.GetStoredProcCommand(sProcName); oDB.DbDatabase.AddInParameter(oDB.DbCmd, "@BookingId", DbType.Int32, BookingId); DataSet dsBRD = null; dsBRD = oDB.ExecuteDataSet(oDB.DbCmd); oDB = null; if (dsBRD != null) { oBRD = new clsBookingRoomReportsData[dsBRD.Tables[0].Rows.Count]; for (int i = 0; i < oBRD.Length; i++) { oBRD[i] = new clsBookingRoomReportsData(); oBRD[i].RoomCategory = dsBRD.Tables[0].Rows[i][0].ToString(); oBRD[i].RoomType = dsBRD.Tables[0].Rows[i][1].ToString(); oBRD[i].TotalBooked = Convert.ToInt32(dsBRD.Tables[0].Rows[i][2].ToString()); oBRD[i].TotalWaitlisted = Convert.ToInt32(dsBRD.Tables[0].Rows[i][3].ToString()); } dsBRD = null; } } catch (Exception exp) { oDB = null; GenFunctions.LogError("clsBookingRoomReportsHandler.GetDetailedBookingDetails", exp.Message); return(null); } finally { oDB = null; } return(oBRD); }
public void DataTypes() { var funs = new GenFunctions(); IReadMean s1 = new StringMean("1"), s2 = new StringMean("-5"), s3 = new StringMean("23.456"), s4 = new StringMean("10.10.2010 10:10:10"); IReadMean r1 = new RealMean(-0.1), i1 = new IntMean(0); Assert.IsTrue(Calc(funs, "IsInt_u", DataType.Boolean, s1).Boolean); Assert.IsTrue(Calc(funs, "IsInt_u", DataType.Boolean, s2).Boolean); Assert.IsFalse(Calc(funs, "IsInt_u", DataType.Boolean, s3).Boolean); Assert.IsFalse(Calc(funs, "IsInt_u", DataType.Boolean, s4).Boolean); Assert.IsTrue(Calc(funs, "IsInt_u", DataType.Boolean, i1).Boolean); Assert.IsFalse(Calc(funs, "IsInt_u", DataType.Boolean, r1).Boolean); Assert.IsTrue(Calc(funs, "IsReal_u", DataType.Boolean, s1).Boolean); Assert.IsTrue(Calc(funs, "IsReal_u", DataType.Boolean, s2).Boolean); Assert.IsTrue(Calc(funs, "IsReal_u", DataType.Boolean, s3).Boolean); Assert.IsFalse(Calc(funs, "IsReal_u", DataType.Boolean, s4).Boolean); Assert.IsTrue(Calc(funs, "IsReal_u", DataType.Boolean, i1).Boolean); Assert.IsTrue(Calc(funs, "IsReal_u", DataType.Boolean, r1).Boolean); Assert.IsFalse(Calc(funs, "IsTime_u", DataType.Boolean, s3).Boolean); Assert.IsTrue(Calc(funs, "IsTime_u", DataType.Boolean, s4).Boolean); Assert.IsFalse(Calc(funs, "IsTime_u", DataType.Boolean, i1).Boolean); Assert.IsTrue(Calc(funs, "Bool_u", DataType.Boolean, s1).Boolean); Assert.IsTrue(Calc(funs, "Bool_u", DataType.Boolean, s2).Boolean); Assert.IsFalse(Calc(funs, "Bool_u", DataType.Boolean, i1).Boolean); Assert.AreEqual(1, Calc(funs, "Int_u", DataType.Integer, s1).Integer); Assert.AreEqual(-5, Calc(funs, "Int_u", DataType.Integer, s2).Integer); Assert.AreEqual(-1, Calc(funs, "Int_u", DataType.Integer, r1).Integer); Assert.AreEqual(-5, Calc(funs, "Real_u", DataType.Real, s2).Real); Assert.AreEqual(23.456, Calc(funs, "Real_u", DataType.Real, s3).Real); Assert.AreEqual(new DateTime(2010, 10, 10, 10, 10, 10), Calc(funs, "Date_u", DataType.Time, s4).Date); Assert.AreEqual("10.10.2010 10:10:10", Calc(funs, "String_u", DataType.String, s4).String); Assert.AreEqual("-0,1", Calc(funs, "String_u", DataType.String, r1).String); Assert.AreEqual("0", Calc(funs, "String_u", DataType.String, i1).String); }
public void Strings() { var funs = new GenFunctions(); IReadMean s1 = new StringMean(" AbAb AA "), s2 = new StringMean("123Ab34 "), s3 = new StringMean(""), s4 = new StringMean(null); var c = (ConstGenFun)(funs.CurFun = funs.Funs["NewLine_"]); IReadMean m = c.Calculate(new IReadMean[0], DataType.String); Assert.AreEqual(Environment.NewLine, m.String); Assert.AreEqual(0, Calc(funs, "StrLen_s", DataType.Integer, s3).Integer); Assert.AreEqual(0, Calc(funs, "StrLen_s", DataType.Integer, s4).Integer); Assert.AreEqual(10, Calc(funs, "StrLen_s", DataType.Integer, s1).Integer); Assert.AreEqual(8, Calc(funs, "StrLen_s", DataType.Integer, s2).Integer); Assert.AreEqual("AbAb AA ", Calc(funs, "StrLTrim_s", DataType.String, s1).String); Assert.AreEqual("123Ab34 ", Calc(funs, "StrLTrim_s", DataType.String, s2).String); Assert.AreEqual("", Calc(funs, "StrLTrim_s", DataType.String, s3).String); Assert.AreEqual("", Calc(funs, "StrLTrim_s", DataType.String, s4).String); Assert.AreEqual(" AbAb AA", Calc(funs, "StrRTrim_s", DataType.String, s1).String); Assert.AreEqual("123Ab34", Calc(funs, "StrRTrim_s", DataType.String, s2).String); Assert.AreEqual("", Calc(funs, "StrRTrim_s", DataType.String, s3).String); Assert.AreEqual("", Calc(funs, "StrRTrim_s", DataType.String, s4).String); Assert.AreEqual("AbAb AA", Calc(funs, "StrTrim_s", DataType.String, s1).String); Assert.AreEqual("123Ab34", Calc(funs, "StrTrim_s", DataType.String, s2).String); Assert.AreEqual("", Calc(funs, "StrTrim_s", DataType.String, s3).String); Assert.AreEqual("", Calc(funs, "StrTrim_s", DataType.String, s4).String); Assert.AreEqual(" abab aa ", Calc(funs, "StrLCase_s", DataType.String, s1).String); Assert.AreEqual("123ab34 ", Calc(funs, "StrLCase_s", DataType.String, s2).String); Assert.AreEqual("", Calc(funs, "StrLCase_s", DataType.String, s3).String); Assert.AreEqual("", Calc(funs, "StrLCase_s", DataType.String, s4).String); Assert.AreEqual(" ABAB AA ", Calc(funs, "StrUCase_s", DataType.String, s1).String); Assert.AreEqual("123AB34 ", Calc(funs, "StrUCase_s", DataType.String, s2).String); Assert.AreEqual("", Calc(funs, "StrUCase_s", DataType.String, s3).String); Assert.AreEqual("", Calc(funs, "StrUCase_s", DataType.String, s4).String); IReadMean i1 = new IntMean(3), i2 = new IntMean(0), i3 = new IntMean(5), i4 = new IntMean(-3); Assert.AreEqual(" Ab", Calc(funs, "StrLeft_si", DataType.String, s1, i1).String); Assert.AreEqual("123", Calc(funs, "StrLeft_si", DataType.String, s2, i1).String); Assert.AreEqual("", Calc(funs, "StrLeft_si", DataType.String, s3, i2).String); Assert.AreEqual(2480, Calc(funs, "StrLeft_si", DataType.String, s1, i4).Error.Number); Assert.AreEqual("A ", Calc(funs, "StrRight_si", DataType.String, s1, i1).String); Assert.AreEqual("34 ", Calc(funs, "StrRight_si", DataType.String, s2, i1).String); Assert.AreEqual("", Calc(funs, "StrRight_si", DataType.String, s3, i2).String); Assert.AreEqual(2490, Calc(funs, "StrRight_si", DataType.String, s1, i4).Error.Number); Assert.AreEqual("bAb A", Calc(funs, "StrMid_sii", DataType.String, s1, i1, i3).String); Assert.AreEqual("b34", Calc(funs, "StrMid_sii", DataType.String, s2, i3, i1).String); Assert.AreEqual("", Calc(funs, "StrMid_sii", DataType.String, s3, i2, i2).String); Assert.AreEqual(2460, Calc(funs, "StrMid_sii", DataType.String, s2, i3, i3).Error.Number); Assert.AreEqual("b AA ", Calc(funs, "StrMid_si", DataType.String, s1, i3).String); Assert.AreEqual(2470, Calc(funs, "StrMid_si", DataType.String, s3, i1).Error.Number); IReadMean s5 = new StringMean("Ab"), s6 = new StringMean("AA"); Assert.AreEqual(2, Calc(funs, "StrFind_ssi", DataType.Integer, s5, s1).Integer); Assert.AreEqual(4, Calc(funs, "StrFind_ssi", DataType.Integer, s5, s2).Integer); Assert.AreEqual(0, Calc(funs, "StrFind_ssi", DataType.Integer, s6, s2).Integer); Assert.AreEqual(0, Calc(funs, "StrFind_ssi", DataType.Integer, s5, s4).Integer); Assert.AreEqual(4, Calc(funs, "StrFind_ssi", DataType.Integer, s5, s1, i1).Integer); Assert.AreEqual(0, Calc(funs, "StrFind_ssi", DataType.Integer, s5, s2, i3).Integer); Assert.AreEqual(4, Calc(funs, "StrFindLast_ssi", DataType.Integer, s5, s1).Integer); Assert.AreEqual(4, Calc(funs, "StrFindLast_ssi", DataType.Integer, s5, s2).Integer); Assert.AreEqual(0, Calc(funs, "StrFindLast_ssi", DataType.Integer, s6, s2).Integer); Assert.AreEqual(0, Calc(funs, "StrFindLast_ssi", DataType.Integer, s5, s4).Integer); Assert.AreEqual(2, Calc(funs, "StrFindLast_ssi", DataType.Integer, s5, s1, i1).Integer); Assert.AreEqual(0, Calc(funs, "StrFindLast_ssi", DataType.Integer, s6, s1, i3).Integer); Assert.AreEqual(" AAAA AA ", Calc(funs, "StrReplace_sss", DataType.String, s1, s5, s6).String); Assert.AreEqual(" AbAA ", Calc(funs, "StrRemove_sii", DataType.String, s1, i3, i1).String); Assert.AreEqual(1800, Calc(funs, "StrRemove_sii", DataType.String, s2, i3, i3).Error.Number); Assert.AreEqual(" AbA", Calc(funs, "StrRemove_si", DataType.String, s1, i3).String); Assert.AreEqual(" AbAAAb AA ", Calc(funs, "StrInsert_ssi", DataType.String, s1, s6, i3).String); Assert.AreEqual(1780, Calc(funs, "StrInsert_ssi", DataType.String, s1, s6, i4).Error.Number); IReadMean s7 = new StringMean(".*Ab.*"), s8 = new StringMean("A.?"); Assert.IsTrue(Calc(funs, "StrRegMatch_ss", DataType.Boolean, s1, s7).Boolean); Assert.IsFalse(Calc(funs, "StrRegMatch_ss", DataType.Boolean, s1, s8).Boolean); Assert.AreEqual(2, Calc(funs, "StrRegFind_ss", DataType.Integer, s1, s8).Integer); Assert.AreEqual(7, Calc(funs, "StrRegFind_ss", DataType.Integer, s1, s6).Integer); Assert.AreEqual("123AA34 ", Calc(funs, "StrRegReplace_sss", DataType.String, s2, s8, s6).String); Assert.AreEqual("AbAb_AA", Calc(funs, "ToIdent_s", DataType.String, s1).String); Assert.AreEqual("A__", Calc(funs, "ToIdent_s", DataType.String, s8).String); }
public void Operations() { var funs = new GenFunctions(); IReadMean i1 = new IntMean(20), i2 = new IntMean(5), i3 = new IntMean(0); IReadMean r1 = new RealMean(2.4), r2 = new RealMean(0.6), r3 = new RealMean(120); IReadMean d1 = new TimeMean(RTime(60)), d2 = new TimeMean(RTime(70)); IReadMean s1 = new StringMean("Abc"), s2 = new StringMean("sT"); IReadMean m = Calc(funs, "Plus_ii", DataType.Integer, i1, i2); Assert.AreEqual(25, m.Integer); Assert.IsNull(m.Error); Assert.AreEqual(3.0, Calc(funs, "Plus_rr", DataType.Integer, r1, r2).Real); Assert.AreEqual(RTime(62), Calc(funs, "Plus_dr", DataType.Time, d1, r3).Date); Assert.AreEqual(RTime(62), Calc(funs, "Plus_rd", DataType.Time, r3, d1).Date); Assert.AreEqual("AbcsT", Calc(funs, "Plus_ss", DataType.String, s1, s2).String); Assert.AreEqual(-20, Calc(funs, "Minus_i", DataType.Integer, i1).Integer); Assert.AreEqual(-2.4, Calc(funs, "Minus_r", DataType.Real, r1).Real); Assert.AreEqual(15, Calc(funs, "Minus_ii", DataType.Integer, i1, i2).Integer); Assert.IsTrue(Math.Abs(1.8 - Calc(funs, "Minus_rr", DataType.Real, r1, r2).Real) < 0.001); Assert.AreEqual(RTime(58), Calc(funs, "Minus_dr", DataType.Time, d1, r3).Date); Assert.AreEqual(-600, Calc(funs, "Minus_dd", DataType.Real, d1, d2).Integer); Assert.AreEqual(4.0, Calc(funs, "Divide_rr", DataType.Real, i1, i2).Real); m = Calc(funs, "Divide_rr", DataType.Real, i1, i3); Assert.AreEqual(0, m.Real); Assert.IsNotNull(m.Error); Assert.AreEqual(501, m.Error.Number); Assert.AreEqual(ErrQuality.Error, m.Error.Quality); Assert.AreEqual("Деление на 0", m.Error.Text); m = Calc(funs, "Multiply_rr", DataType.Integer, i3, m); Assert.AreEqual(0, m.Real); Assert.IsNull(m.Error); Assert.AreEqual(100, Calc(funs, "Multiply_ii", DataType.Integer, i1, i2).Integer); Assert.AreEqual(12, Calc(funs, "Multiply_rr", DataType.Integer, r1, i2).Real); Assert.AreEqual(4, Calc(funs, "Div_ii", DataType.Integer, i1, i2).Integer); m = Calc(funs, "Div_ii", DataType.Integer, i1, i3); Assert.AreEqual(0, m.Integer); Assert.IsNotNull(m.Error); Assert.AreEqual(511, m.Error.Number); Assert.AreEqual(ErrQuality.Error, m.Error.Quality); Assert.AreEqual("Деление на 0", m.Error.Text); Assert.AreEqual(5, Calc(funs, "Mod_ii", DataType.Integer, i2, i1).Integer); m = Calc(funs, "Mod_ii", DataType.Integer, i1, i3); Assert.AreEqual(0, m.Integer); Assert.IsNotNull(m.Error); Assert.AreEqual(521, m.Error.Number); Assert.AreEqual(ErrQuality.Error, m.Error.Quality); IReadMean i4 = new IntMean(-2), r4 = new RealMean(-1.1); Assert.AreEqual(79.62624, Calc(funs, "Power_rr", DataType.Real, r1, i2).Real); Assert.AreEqual(0, Calc(funs, "Power_rr", DataType.Real, i3, i4).Real); Assert.AreEqual(-32, Calc(funs, "Power_rr", DataType.Real, i4, i2).Real); Assert.AreEqual(531, Calc(funs, "Power_rr", DataType.Real, i4, r4).Error.Number); Assert.AreEqual(532, Calc(funs, "Power_rr", DataType.Real, i3, i3).Error.Number); IReadMean s3 = new StringMean("A*c"), s4 = new StringMean("Ab?"), s5 = new StringMean(""); Assert.IsTrue(Calc(funs, "Like_ss", DataType.Boolean, s1, s1).Boolean); Assert.IsTrue(Calc(funs, "Like_ss", DataType.Boolean, s1, s3).Boolean); Assert.IsTrue(Calc(funs, "Like_ss", DataType.Boolean, s1, s4).Boolean); Assert.IsFalse(Calc(funs, "Like_ss", DataType.Boolean, s1, s2).Boolean); Assert.IsFalse(Calc(funs, "Like_ss", DataType.Boolean, s1, s5).Boolean); Assert.IsFalse(Calc(funs, "Like_ss", DataType.Boolean, s5, s3).Boolean); Assert.IsTrue(Calc(funs, "Like_ss", DataType.Boolean, s5, s5).Boolean); Assert.IsTrue(Calc(funs, "Equal_uu", DataType.Integer, i1, i1).Boolean); Assert.IsFalse(Calc(funs, "Equal_uu", DataType.Integer, s4, s3).Boolean); Assert.IsTrue(Calc(funs, "Equal_uu", DataType.Integer, s1, s1).Boolean); Assert.IsFalse(Calc(funs, "NotEqual_uu", DataType.Integer, i1, i1).Boolean); Assert.IsTrue(Calc(funs, "NotEqual_uu", DataType.Integer, s4, s3).Boolean); Assert.IsFalse(Calc(funs, "NotEqual_uu", DataType.Integer, s1, s1).Boolean); Assert.IsFalse(Calc(funs, "Less_uu", DataType.Integer, i1, i2).Boolean); Assert.IsFalse(Calc(funs, "Less_uu", DataType.Integer, r2, r2).Boolean); Assert.IsTrue(Calc(funs, "Less_uu", DataType.Integer, s1, s2).Boolean); Assert.IsFalse(Calc(funs, "LessEqual_uu", DataType.Integer, i1, i2).Boolean); Assert.IsTrue(Calc(funs, "LessEqual_uu", DataType.Integer, r2, r2).Boolean); Assert.IsTrue(Calc(funs, "LessEqual_uu", DataType.Integer, s1, s2).Boolean); Assert.IsFalse(Calc(funs, "Greater_uu", DataType.Integer, i2, i1).Boolean); Assert.IsFalse(Calc(funs, "Greater_uu", DataType.Integer, r2, r2).Boolean); Assert.IsTrue(Calc(funs, "Greater_uu", DataType.Integer, s2, s1).Boolean); Assert.IsFalse(Calc(funs, "GreaterEqual_uu", DataType.Integer, i2, i1).Boolean); Assert.IsTrue(Calc(funs, "GreaterEqual_uu", DataType.Integer, r2, r2).Boolean); Assert.IsTrue(Calc(funs, "GreaterEqual_uu", DataType.Integer, s2, s1).Boolean); m = Calc(funs, "Divide_rr", DataType.Real, i1, i3); IReadMean b1 = new BoolMean(true), b2 = new BoolMean(false), b3 = new BoolMom(DateTime.MinValue, false, m.Error); m = Calc(funs, "Not_b", DataType.Boolean, b1); Assert.IsFalse(m.Boolean); Assert.IsNull(m.Error); m = Calc(funs, "Not_b", DataType.Boolean, b3); Assert.IsTrue(m.Boolean); Assert.IsNotNull(m.Error); Assert.AreEqual(501, m.Error.Number); m = Calc(funs, "Xor_bb", DataType.Boolean, b1, b2); Assert.IsTrue(m.Boolean); Assert.IsNull(m.Error); m = Calc(funs, "Xor_bb", DataType.Boolean, b2, b3); Assert.IsFalse(m.Boolean); Assert.IsNotNull(m.Error); Assert.AreEqual(501, m.Error.Number); m = Calc(funs, "Xor_bb", DataType.Boolean, b3, b3); Assert.IsFalse(m.Boolean); Assert.IsNotNull(m.Error); Assert.AreEqual(501, m.Error.Number); Assert.AreEqual(17, Calc(funs, "Xor_ii", DataType.Integer, i1, i2).Integer); m = Calc(funs, "Or_bb", DataType.Boolean, b1, b2); Assert.IsTrue(m.Boolean); Assert.IsNull(m.Error); m = Calc(funs, "Or_bb", DataType.Boolean, b1, b3); Assert.IsTrue(m.Boolean); Assert.IsNull(m.Error); m = Calc(funs, "Or_bb", DataType.Boolean, b2, b3); Assert.IsFalse(m.Boolean); Assert.IsNotNull(m.Error); Assert.AreEqual(501, m.Error.Number); Assert.AreEqual(21, Calc(funs, "Or_ii", DataType.Integer, i1, i2).Integer); m = Calc(funs, "And_bb", DataType.Boolean, b1, b2); Assert.IsFalse(m.Boolean); Assert.IsNull(m.Error); m = Calc(funs, "And_bb", DataType.Boolean, b1, b3); Assert.IsFalse(m.Boolean); Assert.IsNotNull(m.Error); Assert.AreEqual(501, m.Error.Number); m = Calc(funs, "And_bb", DataType.Boolean, b1, b1); Assert.IsTrue(m.Boolean); Assert.IsNull(m.Error); Assert.AreEqual(4, Calc(funs, "And_ii", DataType.Integer, i1, i2).Integer); }
public void Mathematical() { var funs = new GenFunctions(); IReadMean r1 = new RealMean(2.345), r2 = new RealMean(-1.234); IReadMean i1 = new IntMean(2), r3 = new RealMean(0); Assert.AreEqual(2, Calc(funs, "Round_r", DataType.Integer, r1).Integer); Assert.AreEqual(-1, Calc(funs, "Round_r", DataType.Integer, r2).Integer); Assert.AreEqual(2.35, Calc(funs, "Round_ri", DataType.Real, r1, i1).Real); Assert.AreEqual(-1.23, Calc(funs, "Round_ri", DataType.Real, r2, i1).Real); Assert.AreEqual(2, Calc(funs, "Abs_i", DataType.Integer, i1).Integer); Assert.AreEqual(2.345, Calc(funs, "Abs_r", DataType.Real, r1).Real); Assert.AreEqual(1.234, Calc(funs, "Abs_r", DataType.Real, r2).Real); Assert.AreEqual(1, Calc(funs, "Sign_i", DataType.Integer, i1).Integer); Assert.AreEqual(1, Calc(funs, "Sign_r", DataType.Integer, r1).Integer); Assert.AreEqual(-1, Calc(funs, "Sign_r", DataType.Integer, r2).Integer); Assert.AreEqual(0, Calc(funs, "Sign_r", DataType.Integer, r3).Integer); Assert.AreEqual(Math.Sqrt(2.345), Calc(funs, "Sqr_r", DataType.Real, r1).Real); var m = Calc(funs, "Sqr_r", DataType.Real, r2); Assert.AreEqual(1001, m.Error.Number); IReadMean r4 = new RealMom(DateTime.MinValue, -0.567, m.Error); IReadMean s1 = new StringMean("1111"); m = Calc(funs, "Min_uu", DataType.Real, r1, r2, r3, r4); Assert.AreEqual(-1.234, m.Real); Assert.AreEqual(1001, m.Error.Number); m = Calc(funs, "Min_uu", DataType.Real, r1, r2, r3); Assert.AreEqual(-1.234, m.Real); Assert.IsNull(m.Error); m = Calc(funs, "Min_uu", DataType.Integer, i1, r3); Assert.AreEqual(0, m.Integer); Assert.IsNull(m.Error); m = Calc(funs, "Min_uu", DataType.String, i1, r1, s1); Assert.AreEqual("1111", m.String); Assert.IsNull(m.Error); m = Calc(funs, "Max_uu", DataType.Real, r1, r2, r3, r4); Assert.AreEqual(2.345, m.Real); Assert.AreEqual(1001, m.Error.Number); m = Calc(funs, "Max_uu", DataType.Real, r1, r2, r3); Assert.AreEqual(2.345, m.Real); Assert.IsNull(m.Error); m = Calc(funs, "Max_uu", DataType.Integer, i1, r3); Assert.AreEqual(2, m.Integer); Assert.IsNull(m.Error); m = Calc(funs, "Max_uu", DataType.String, i1, r1, s1); Assert.AreEqual("2,345", m.String); Assert.IsNull(m.Error); Assert.AreEqual(Math.Exp(2), Calc(funs, "Exp_r", DataType.Real, i1).Real); Assert.AreEqual(1, Calc(funs, "Exp_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Exp(-1.234), Calc(funs, "Exp_r", DataType.Real, r2).Real); Assert.AreEqual(Math.Log(2), Calc(funs, "Ln_r", DataType.Real, i1).Real); Assert.AreEqual(891, Calc(funs, "Ln_r", DataType.Real, r3).Error.Number); Assert.AreEqual(891, Calc(funs, "Ln_r", DataType.Real, r2).Error.Number); Assert.AreEqual(Math.Log10(2), Calc(funs, "Log10_r", DataType.Real, i1).Real); Assert.AreEqual(911, Calc(funs, "Log10_r", DataType.Real, r3).Error.Number); Assert.AreEqual(911, Calc(funs, "Log10_r", DataType.Real, r2).Error.Number); Assert.AreEqual(Math.Log(2.345, 2), Calc(funs, "Log_rr", DataType.Real, r1, i1).Real); Assert.AreEqual(901, Calc(funs, "Log_rr", DataType.Real, r2, r1).Error.Number); Assert.AreEqual(901, Calc(funs, "Log_rr", DataType.Real, r1, r2).Error.Number); var c = (ConstGenFun)(funs.CurFun = funs.Funs["Pi_"]); m = c.Calculate(new IReadMean[0], DataType.Real); Assert.AreEqual(Math.PI, m.Real); IReadMean r5 = new RealMean(0.789), r6 = new RealMean(-Math.PI / 2), r7 = new IntMean(-1); Assert.AreEqual(0, Calc(funs, "Sin_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Sin(0.789), Calc(funs, "Sin_r", DataType.Real, r5).Real); Assert.AreEqual(-1, Calc(funs, "Sin_r", DataType.Real, r6).Real); Assert.AreEqual(1, Calc(funs, "Cos_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Cos(0.789), Calc(funs, "Cos_r", DataType.Real, r5).Real); Assert.IsTrue(Math.Abs(Calc(funs, "Cos_r", DataType.Real, r6).Real) < 0.001); Assert.AreEqual(0, Calc(funs, "Tan_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Tan(0.789), Calc(funs, "Tan_r", DataType.Real, r5).Real); Assert.AreEqual(870, Calc(funs, "Ctan_r", DataType.Real, r3).Error.Number); Assert.IsTrue(Math.Abs(1 / Math.Tan(0.789) - Calc(funs, "Ctan_r", DataType.Real, r5).Real) < 0.001); Assert.IsTrue(Math.Abs(Calc(funs, "Ctan_r", DataType.Real, r6).Real) < 0.001); Assert.AreEqual(Math.Sinh(0), Calc(funs, "Sh_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Sinh(0.789), Calc(funs, "Sh_r", DataType.Real, r5).Real); Assert.AreEqual(Math.Sinh(-Math.PI / 2), Calc(funs, "Sh_r", DataType.Real, r6).Real); Assert.AreEqual(Math.Cosh(0), Calc(funs, "Ch_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Cosh(0.789), Calc(funs, "Ch_r", DataType.Real, r5).Real); Assert.AreEqual(Math.Cosh(-Math.PI / 2), Calc(funs, "Ch_r", DataType.Real, r6).Real); Assert.AreEqual(Math.Tanh(0), Calc(funs, "Th_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Tanh(0.789), Calc(funs, "Th_r", DataType.Real, r5).Real); Assert.AreEqual(0, Calc(funs, "Arcsin_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Asin(0.789), Calc(funs, "Arcsin_r", DataType.Real, r5).Real); Assert.IsTrue(Math.Abs(-Math.PI / 2 - Calc(funs, "Arcsin_r", DataType.Real, r7).Real) < 0.001); Assert.IsTrue(Math.Abs(Math.PI / 2 - Calc(funs, "Arccos_r", DataType.Real, r3).Real) < 0.001); Assert.AreEqual(Math.Acos(0.789), Calc(funs, "Arccos_r", DataType.Real, r5).Real); Assert.IsTrue(Math.Abs(Calc(funs, "Arccos_r", DataType.Real, r6).Real) < 0.0001); Assert.AreEqual(0, Calc(funs, "Arctan_r", DataType.Real, r3).Real); Assert.AreEqual(Math.Atan(0.789), Calc(funs, "Arctan_r", DataType.Real, r5).Real); }
//Вычисление значения скалярной функции private IReadMean Calc(GenFunctions funs, string funName, DataType dtype, params IReadMean[] pars) { var fun = (ScalarGenFun)(funs.CurFun = funs.Funs[funName]); return(fun.Calculate(pars, dtype)); }