Example #1
0
        public void PassingAsOutput_ReferenceTypeParameter_ReassigningTheParameter_ShouldChangeCallerValue()
        {
            IntHolderClass referenceType = new IntHolderClass(5);

            F12(out referenceType);

            Assert.AreEqual(1212, referenceType.Number);
        }
Example #2
0
        public void PassingAsOutput_ReferenceTypeParameter_ChangingTheValueInsideFunction_ShouldChangeCallerValue()
        {
            IntHolderClass referenceType = new IntHolderClass(5);

            F11(out referenceType);

            Assert.Pass("referenceType variable must be assigned in the F11(), so we can't just change value of Number property.");
        }
Example #3
0
        public void PassingByReference_ReferenceTypeParameter_ReassigningTheParameter_ShouldChangeCallerValue()
        {
            var referenceType = new IntHolderClass(5);

            F8(ref referenceType);

            Assert.AreEqual(88, referenceType.Number);
        }
Example #4
0
        public void PassingByReference_ReferenceTypeParameter_ChangingTheValueInsideFunction_ShouldChangeCallerValue()
        {
            var referenceType = new IntHolderClass(5);

            F7(ref referenceType);

            Assert.AreEqual(77, referenceType.Number);
        }
Example #5
0
        public void ReferenceTypes_ReassigningVariableAfterAssginment_VariablesAreIndependent()
        {
            var first  = new IntHolderClass(42);
            var second = first;

            first = null;

            Assert.AreEqual(42, second.Number);
        }
Example #6
0
        public void ReferenceTypes_AssigningOneVariableToAnother_VariablesPointToSameObject()
        {
            var first  = new IntHolderClass(42);
            var second = first;

            first.Number = 43;

            Assert.AreEqual(43, second.Number);
        }
Example #7
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);
                IntHolderClass value = (IntHolderClass)wordTable[word];
                if (value == null)
                {
                    wordTable[word] = new IntHolderClass();
                }
                else
                {
                    value.Count++;
                }
            }
        }
        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("IntHolderClass: Counted {0} words ({1} unique) in {2}, delta = {3}", wordCount, words.Count, endTime - startTime, (endTime - startTime) - overhead);
    }
Example #8
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);
        }
Example #9
0
 private void F102(IntHolderClass referenceType)
 {
     referenceType = new IntHolderClass(102102);
 }
Example #10
0
 private void F16(params IntHolderClass[] referenceTypes)
 {
     referenceTypes.ToList().ForEach(i => i = new IntHolderClass(1616));
 }
Example #11
0
 private void F12(out IntHolderClass referenceType)
 {
     referenceType = new IntHolderClass(1212);
 }
Example #12
0
 private void F11(out IntHolderClass referenceType)
 {
     referenceType = new IntHolderClass(0);
 }
Example #13
0
 private void F8(ref IntHolderClass referenceType)
 {
     referenceType = new IntHolderClass(88);
 }
Example #14
0
 private void F7(ref IntHolderClass referenceType)
 {
     referenceType.Number = 77;
 }
Example #15
0
 private void F4(IntHolderClass referenceType)
 {
     referenceType = new IntHolderClass(44);
 }
Example #16
0
 private void F3(IntHolderClass referenceType)
 {
     referenceType.Number = 33;
 }