Vim, Emacs, and JUnit Testing - Illinois Institute of ... ?· Vim, Emacs, and JUnit Testing Audience:…

Embed Size (px)

Text of Vim, Emacs, and JUnit Testing - Illinois Institute of ... ?· Vim, Emacs, and JUnit Testing...

  • Vim, Emacs, and JUnit Testing Audience: Students in CS 331

    Written by: Kathleen Lockhart, CS Tutor

  • Overview

    Vim and Emacs are the two code editors available within the Dijkstra environment. While both perform essentially the same function, each has it own characteristics, advantages, and disadvantages.

    JUnit tests allow you to test how your code runs under various situations. Using JUnit is required for CS 331.

  • Vim

    Standing for vi improved (vi is a text editor for Unix systems), Vim was released in 1991

    Vim is a free and open source software

    Vim is entirely a text editor, it has no graphics whatsoever. Graphic versions of Vim do exist, but will not be covered in this tutorial

  • Vim Tutor

    Vim has a tutor to teach you many of the commands that can be used in Vim.

    Vim tutor contains many additional commands not covered in this workshop. This workshop focuses on the commands most commonly used in CS 331.

    To use the tutor, type vimtutor and press enter. Note that you can launch the Vim tutor from within any directory in Dijkstra.

  • Launching Vim

    Editing an existing file

    Type vim followed by the program name and hit enter

    Example: vim Stack.java

    Creating a new file

    Similar to editing an existing file, type vim followed by the desired program name and hit enter

    Example: vim Stack2.java

  • Vim Navigation

    Vim is completely a text editor, so it will not respond to any input in the mouse. You cannot click to a location in your code, Vim will simply ignore it.

    To navigate, use either the arrow keys or the h, j, k, and l keys

    h is (left)

    j is (down)

    k is (up)

    l is (right)

  • Vim File Commands

    Vim has a few basic file commands. These commands are all executed preceded by a : and press enter after the command

    w: save file

    q: close file

    The q command will only work when you have not made any changes to the file since you saved it. To close a file you have made changes to, use q! or wq

    q!: close file without saving

    wq: save and close file

  • Vim File Commands Practice

    Open the Stack.java file (or any other file)

    Type :w and press enter. This saves the file.

    Type :q! and press enter. This closes the file.

    Open the Stack.java file again

    Type :wq and press enter. This saves and closes the file in one line.

  • Vim Insertion Mode

    To actually edit files, Vim has a special mode called the insertion mode.

    Switch to insertion mode by pressing i

    Switch out of insertion mode by pressing the escape key

  • Editing in Vim

    Navigation in insert mode is the same as before: use the arrow keys or h,j,k, and l keys to navigate through your code

    Typed text will appear directly to the left of the cursor, likewise pressing either backspace or delete will delete the character to the left of the cursor

  • Vim Highlighting Features

    Keywords such as public, int, this, class, etc. show up in green

    Variable values (ex: 0, null, hi) are shown in red

    New is yellow

    Comments are blue

  • Vim Editing Features

    Move your cursor to the right of a curly bracket to have the matching one be highlighted blue

    Vim does not automatically indent your code, however, if you are typing in an indented line, hitting enter will indent the next line by the same amount

  • Vim Editing Practice Try creating a simple HelloWorld file using the techniques and

    features discussed. Navigate through the file to see how Vim keeps track of matching pairs of brackets.

  • Copy and Paste in Vim

    Before you try to copy and paste, exit insertion mode.

    Select the text you want to copy by moving the cursor to the beginning of the text, pressing v (visual), and then using the arrow keys to highlight the desired text

    Copy this text using y (yank) (or press d to cut)

    Move to where you want to paste using the arrow keys and press p (paste)

  • Vim Copy and Paste Practice

    Copy the main method from the HelloWorld file from the earlier example and paste it into a new java file. Save and close both files.

  • Vim Command Summary

    Vim FileName.java Open or create a file to edit

    :w + Enter save file

    :q + Enter quit, close file

    :q! + Enter close file without saving :wq + Enter save and close file

    i start insertion mode

    v visual, select a section of text

    y yank, copy

    d delete, cut

    p - paste

  • Emacs

    Emacs was first released 1976 as a set of Editor MACroS for the TECO editor

    Emacs is a free and open source software

    Emacs is entirely a text editor, it has no graphics whatsoever. Graphic versions of Emacs do exist, but will not be covered in this tutorial

  • Launching Emacs

    Editing an existing file

    Type emacs followed by the program name and hit enter

    Example: emacs Stack.java

    Creating a new file

    Similar to editing an existing file, type emacs followed by the desired program name and hit enter

    Example: emacs Stack2.java

  • Emacs Tutor

    Emacs has a tutor to teach you many of the commands that can be used in Emacs.

    Emacs tutor contains many additional commands not covered in this workshop. This workshop focuses on the commands most commonly used in CS 331.

    To use the tutor launch Emacs by typing emacs and pressing enter

    Press the control (Ctrl) key and h, followed by t to launch the tutorial

  • Navigation in Emacs

    Emacs is completely a text editor, so it will not respond to any input in the mouse. You cannot click to a location in your code, Vim will simply ignore it.

    Navigate in Emacs using the arrow keys

    You can also use the Ctrl key + p, b, f, and n to navigate

    p previous (line above)

    n next (line below)

    f forward (to the right)

    b back (to the left)

  • Emacs File Commands

    To close a file, press Ctrl X, followed by Ctrl C

    Emacs will ask you if you want to save. Press y to save, n to not save, or Ctrl + h for help

    If you say no, then Emacs will ask you again. This time you must type either yes or no

    To save a file, press Ctrl X, followed by Ctrl S

  • Emacs File Commands Practice

    Open the Stack.java file (or any other file)

    Type Ctrl + X, followed by Ctrl + S. This saves the file.

    Type Ctrl + X, followed by Ctrl + C. This closes the file.

    Choose whether or not to save your file when prompted

  • Editing in Emacs

    Unlike Vim, emacs has only one mode (i.e. there is no separate insertion mode), so whatever you type will appear in the file

    Typed text will appear directly to the left of the cursor, likewise pressing either backspace will delete the character to the left of the cursor

    Note that pressing delete does not delete characters you have typed. You must use backspace

  • Emacs Highlighting

    Keywords such as public, this, class, new, etc. show up in light blue

    Variable types are shown in green

    Comments are shown in red

    Variable names are yellow

    Null and external classes are purple

    Method names are blue

    Note that method names are only in blue for classes not using generics (, etc.)

    Method names in classes using generics are in yellow

    Constructors are not highlighted

  • Emacs Editing Features

    When you type a closing curly bracket, Emacs will briefly move the cursor to the opening curly bracket matching it

    Emacs does not automatically indent your code, however, if you are typing in an indented line, hitting enter will indent the next line by the same amount

  • Emacs Editing Practice

    Try creating a simple HelloWorld file using the techniques and features discussed. Try adding lines of the code to the file to explore all of the editing features of Emacs

  • Copy and Paste in Emacs

    To Copy:

    Press Ctrl space

    Move the cursor until all the text you want is highlighted

    When you highlight this text, you must include one extra character at the end or Emacs will cut off the final character

    Then press Esc , followed by w

  • Copy and Paste in Emacs

    To Paste:

    To paste press Ctrl + y

    The text will appear after the cursor

  • Emacs Copy and Paste Practice

    Copy the main method from the HelloWorld file from the earlier example and paste it into a new java file. Save and close both files.

  • Emacs Command Summary

    Emacs FileName Open or create a file to edit

    Ctrl + X, Ctrl + C Close a file. Use menu options to decide whether or not to save

    Ctrl + X, Ctrl + S Save a file

    Ctrl + Space Start copy

    Esc + w End copy

    Ctrl + Y - Paste

  • JUnit

    JUnit, or java unit, tests allow you to test how your code runs under various situations

    Unit tests get their own java file, usually called TestFile.java (so unit tests for Stack.java would be in TestStack.java)

  • JUnit File Setup

    The building blocks of every JUnit class:

    Import statement:

    import junit.framework.*;

    Class declaration:

    public class TestFile extends TestCase{

    Default constructor:

    public TestFile(String name) {

    super(name);

    }

  • JUnit File Setup Examp