/*********************************************************************/
        /// <summary>
        /// fügt eine zusätzliche Spalte in die Tabelle ein
        /// </summary>
        /// <param name="name"></param>
        /// <param name="targetAttribute"></param>
        /// <returns></returns>
        public CAttributeType addTableAttribute(string sName, bool bTargetAttribute = false)
        {
            if (isAttributExistent(sName) == false)
            {
                CAttributeType attrType = getNextAvailableAttibuteType();

                if (attrType != null)
                {
                    attrType.setUsed(sName, E_DATATYPE.E_STRING, bTargetAttribute);
                    return(attrType);
                }
            }

            return(null);

            #region altcode .. kann eventuell noch gebraucht werden

            /*
             * string sSQLCommand = "UPDATE " + CTableConstants.TABLE_ATTRIBUTE_TYPES + " SET " +
             *  CTableConstants.ATTR_TYPES_NAME + "='" + sName + "', " +
             *  CTableConstants.ATTR_TYPES_USED + "=1, " +
             *  CTableConstants.ATTR_TYPES_TARGET_ATTR + "=" + Convert.ToInt16(bTargetAttribute) +
             *  " WHERE " + CTableConstants.ATTR_TYPES_INTERNAL_NAME + "='" + sInternalName + "'";
             * mConnection.sqlExecuteStatement(sSQLCommand);
             *
             * return true;
             */
            #endregion
        }
        public void testTypes()
        {
            CAttributeType typeNumber = new CAttributeType(0);

            Assert.IsTrue(typeNumber.Used == false);

            typeNumber.setUsed("Number", E_DATATYPE.E_INT, true);

            Assert.IsTrue(typeNumber.DataType == E_DATATYPE.E_INT);
            Assert.IsTrue(typeNumber.Name == "Number");
            Assert.IsTrue(typeNumber.TargetAttribute == true);
        }
        public void testAttributeGeneration()
        {
            CAttributeType typeNumber = new CAttributeType(0);

            typeNumber.setUsed("Number", E_DATATYPE.E_INT, false);
            CAttributeType typeString = new CAttributeType(0);

            typeString.setUsed("String", E_DATATYPE.E_STRING, false);
            CAttributeType typeFloat = new CAttributeType(0);

            typeFloat.setUsed("Float", E_DATATYPE.E_FLOAT, false);

            // Attributwerte mit unterschiedlichen Typen erstellen
            CAttributeValue[] values = new CAttributeValue[10];
            for (int i = 0; i < 10; i++)
            {
                switch (i % 2)
                {
                case 0:
                    values[i] = new CAttributeValue(typeString, i.ToString(), i.ToString(), null);
                    break;

                case 1:
                    values[i] = new CAttributeValue(typeNumber, i.ToString(), i.ToString(), null);
                    break;

                case 2:
                    values[i] = new CAttributeValue(typeFloat, i.ToString(), i.ToString(), null);
                    break;
                }
            }

            // testen ob die Werte korrekt eingetragen wurden
            for (int i = 0; i < 10; i++)
            {
                switch (values[i].AttributeType.DataType)
                {
                case E_DATATYPE.E_STRING:
                    Assert.IsTrue(values[i].StringValue == i.ToString());
                    break;

                case E_DATATYPE.E_INT:
                    Assert.IsTrue(values[i].IntegerValue == i);
                    break;

                case E_DATATYPE.E_FLOAT:
                    Assert.IsTrue(values[i].FloatValue == i);
                    break;
                }
            }
        }
        public void TesthandleDataTypeofValue()
        {
            CAttributeType typeNumber = new CAttributeType(0);

            typeNumber.setUsed("Number", E_DATATYPE.E_INT, true);

            CAttributeValue  myValue = new CAttributeValue(typeNumber, "1", "1", null);
            CDataTypeChecker checker = new CDataTypeChecker();

            checker.handleDataTypeofValue(myValue, "1.3");
            Assert.IsTrue(myValue.AttributeType.DataType == E_DATATYPE.E_FLOAT, "float hinzufügen");
            checker.handleDataTypeofValue(myValue, "2");
            Assert.IsTrue(myValue.AttributeType.DataType == E_DATATYPE.E_INT, "int hinzufügen");
            checker.handleDataTypeofValue(myValue, "wer");
            Assert.IsTrue(myValue.AttributeType.DataType == E_DATATYPE.E_STRING, "string hinzufügen");
        }
        public void testValuesList()
        {
            CValueList valueList = new CValueList();

            CAttributeType typeNumber = new CAttributeType(0);

            typeNumber.setUsed("Number", E_DATATYPE.E_INT, false);
            CAttributeType typeString = new CAttributeType(0);

            typeString.setUsed("String", E_DATATYPE.E_STRING, false);
            CAttributeType typeFloat = new CAttributeType(0);

            typeFloat.setUsed("Float", E_DATATYPE.E_FLOAT, false);

            // Attributwerte mit unterschiedlichen Typen erstellen und in die Liste einfügen
            for (int i = 0; i < 10; i++)
            {
                switch (i % 2)
                {
                case 0:
                    valueList.addValue(new CAttributeValue(typeString, i.ToString(), i.ToString(), null));
                    break;

                case 1:
                    valueList.addValue(new CAttributeValue(typeNumber, i.ToString(), i.ToString(), null));
                    break;

                case 2:
                    valueList.addValue(new CAttributeValue(typeFloat, i.ToString(), i.ToString(), null));
                    break;
                }
            }

            Assert.IsTrue(valueList.Size == 10);

            // Zugriff per foreach auf Elemente der Liste
            foreach (CAttributeValue value in valueList)
            {
                value.ToString();
            }

            // Zugriff per Index auf ein Element
            valueList[0].ToString();
        }
Beispiel #6
0
        public void ItemTestIndex()
        {
            CTableEntryList list     = new CTableEntryList();
            CAttributeType  attrType = new CAttributeType(0);

            attrType.setUsed("asd", E_DATATYPE.E_STRING, false);

            for (int i = 0; i < 10; i++)
            {
                CTableEntry entry = new CTableEntry(i.ToString());
                entry.addValue(new CAttributeValue(attrType, i.ToString(), i.ToString(), null));
                list.addEntry(entry);
            }

            CTableEntry singleEntry;

            singleEntry = list[5];

            Assert.IsTrue(singleEntry.Size == 1);
            Assert.IsTrue(singleEntry[0].EntryIndex == "5");
            Assert.IsTrue(singleEntry[0].StringValue == "5");
        }