Exemplo n.º 1
0
        public void PassingByValue_ValueTypeParameter_ReassigningTheParameter_ShouldNotChangeCallerValue()
        {
            var valueType = new IntHolderStruct(5);

            F2(valueType);

            Assert.AreEqual(5, valueType.Number);
        }
Exemplo n.º 2
0
        public void PassingByValue_ValueTypeParameter_ChangingTheValueInsideFunction_ShouldNotChangeCallerValue()
        {
            var valueType = new IntHolderStruct(5);

            F1(valueType);

            Assert.AreEqual(5, valueType.Number);
        }
Exemplo n.º 3
0
        public void PassingAsOutput_ValueTypeParameter_ChangingTheValueInsideFunction_ShouldChangeCallerValue()
        {
            var valueType = new IntHolderStruct(5);

            F9(out valueType);

            Assert.AreEqual(99, valueType.Number);
        }
Exemplo n.º 4
0
        public void PassingByReference_ValueTypeParameter_ReassigningTheParameter_ShouldChangeCallerValue()
        {
            var valueType = new IntHolderStruct(5);

            F6(ref valueType);

            Assert.AreEqual(66, valueType.Number);
        }
Exemplo n.º 5
0
        public void ValueTypes_AssigningOneVariableToAnother_DataIsCopied()
        {
            var first  = new IntHolderStruct(1);
            var second = first;

            first.Number = 2;

            Assert.AreEqual(1, second.Number);
        }
Exemplo n.º 6
0
    public void DoCount(TimeSpan overhead)
    {
        string    line      = null;
        Hashtable wordTable = new Hashtable();
        DateTime  startTime = DateTime.Now;
        int       wordCount = 0;

        while ((line = stream.ReadLine()) != null)
        {
            foreach (string word in regexSplit.Split(line.ToLower()))
            {
                wordCount++;
                //Console.WriteLine("Word: {0}", word);
                object value = wordTable[word];
                if (value == null)
                {
                    value           = new IntHolderStruct(1);
                    wordTable[word] = value;
                }
                else
                {
                    ((IIncrement)value).Increment();
                }
            }
        }
        stream.Close();
        f.Close();
        DateTime endTime = DateTime.Now;

        ArrayList words = new ArrayList();

        foreach (string word in wordTable.Keys)
        {
            words.Add(word);
        }
        words.Sort();

        //foreach (string word in words)
        //{
        //Console.WriteLine("{0} = {1}", word, wordTable[word]);
        //}

        Console.WriteLine("Interface: Counted {0} words ({1} unique) in {2}, delta = {3}", wordCount, words.Count, endTime - startTime, (endTime - startTime) - overhead);
    }
Exemplo n.º 7
0
        public void PassingReferenceTypeByValue_AndValueTypeByReference_IsNotTheSame()
        {
            var firstValueType  = new IntHolderStruct(5);
            var secondValueType = firstValueType;

            secondValueType.Number = 6;
            F101(ref firstValueType);
            Assert.AreEqual(101101, firstValueType.Number);
            Assert.AreEqual(6, secondValueType.Number);


            var firstReferenceType  = new IntHolderClass(5);
            var secondReferenceType = firstReferenceType;

            secondReferenceType.Number = 6;
            F102(firstReferenceType);

            Assert.AreEqual(6, firstReferenceType.Number);
            Assert.AreEqual(6, secondReferenceType.Number);
            Assert.AreEqual(firstReferenceType, secondReferenceType);
        }
Exemplo n.º 8
0
 private void F2(IntHolderStruct valueType)
 {
     valueType = new IntHolderStruct(22);
 }
Exemplo n.º 9
0
 private void F1(IntHolderStruct valueType)
 {
     valueType.Number = 11;
 }
Exemplo n.º 10
0
 private void F101(ref IntHolderStruct valueType)
 {
     valueType = new IntHolderStruct(101101);
 }
Exemplo n.º 11
0
 private void F14(params IntHolderStruct[] valueTypes)
 {
     valueTypes.ToList().ForEach(i => i = new IntHolderStruct(1414));
 }
Exemplo n.º 12
0
 private void F10(out IntHolderStruct valueType)
 {
     valueType = new IntHolderStruct(1010);
 }
Exemplo n.º 13
0
 private void F9(out IntHolderStruct valueType)
 {
     valueType.Number = 99;
 }
Exemplo n.º 14
0
 private void F6(ref IntHolderStruct valueType)
 {
     valueType = new IntHolderStruct(66);
 }
Exemplo n.º 15
0
 private void F5(ref IntHolderStruct valueType)
 {
     valueType.Number = 55;
 }