A square of squares

You like building blocks. You especially like building blocks that are squares. And what you even like more, is to arrange them into a square of square building blocks!

However, sometimes, you can't arrange them into a square. Instead, you end up with an ordinary rectangle! Those blasted things! If you just had a way to know, whether you're currently working in vain… Wait! That's it! You just have to check if your number of building blocks is a perfect square.

Task

Given an integral number, determine if it's a square number:

In mathematics, a square number or perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself.

The tests will always use some integral number, so don't worry about that in dynamic typed languages.

Examples

-1  =>  false
 0  =>  true
 3  =>  false
 4  =>  true
25  =>  true
26  =>  false

import "dart:math" as Math;
import "package:test/test.dart";
import "package:solution/solution.dart";

void main() {
  test('should work for some examples', () {
    expect(isSquare(-1), isFalse);
    expect(isSquare(0), isTrue);
    expect(isSquare(3), isFalse);
    expect(isSquare(4), isTrue);
    expect(isSquare(25), isTrue);
    expect(isSquare(26), isFalse);
  });

  test('should work for random square numbers', () {
    var r = new Math.Random();
    new List.generate(100,(i) => i).forEach((n) {
      var x = r.nextInt(65520);
      expect(isSquare(x*x), isTrue);
    });
  });
}
import 'dart:math';
isSquare(n) => sqrt(n) % 1 != null && sqrt(n) % 1 == 0 ? true : false;
import 'dart:math';

var isSquare = (n) => sqrt(n).remainder(1) == 0;